2016-07-25 112 views
0

我使用的是Google Drive Android API。我的應用程序正在同步文件到谷歌驅動器文件夾。這工作正常。
此外,我想與其他用戶共享這些文件夾和文件。不幸的是在同一應用程序的另一個設備和賬號,我只能訪問文件/我已經通過文件/文件夾採摘採摘文件夾(見https://github.com/googledrive/android-demos/tree/master/app/src/main/java/com/google/android/gms/drive/sample/demoAndroid Google Drive Api跨設備和帳戶共享文件

我GoogleApiClient越來越範圍:Drive.SCOPE_FILE。所以介紹稱:

按文件訪問由應用程序創建或打開文件

由於我使用的是相同的應用程序在其他設備上使用不同的帳號我不應該能夠訪問那些文件?順便說一句,在這個工作的另一臺設備上有相同的帳戶。

有沒有其他解決方案?我已經檢查過REST API,但是恐怕這會讓整個代碼變得更加複雜。

回答

4

大家誰是感興趣的一個解決方案:

  • 我發現沒有辦法共享文件同步與谷歌Android原生API。 (除了文件選擇器)
  • 如果你想這樣做,你必須使用谷歌驅動器rest API。

這個解決方案的一個小優點。我認爲java rest API更適合這類工作。代碼以這種方式更具可讀性。

0

您只需要授權用戶。請注意,在您的應用程序發送到Drive API的每個請求中都必須包含授權令牌。令牌還可以識別您的應用程序到Google。您必須通過OAuth 2.0授權請求。沒有其他授權協議被支持。

對Drive API的所有請求都必須由經過身份驗證的用戶授權。

OAuth 2.0的授權過程或「流程」的細節根據您正在編寫的應用程序類型而有所不同。以下一般過程適用於所有應用程序類型:

  • 當您創建應用程序時,請使用Google API控制檯註冊它。 Google隨後會提供您稍後需要的信息,例如客戶端ID和客戶端密碼。
  • 在Google API控制檯中激活Drive API。 (如果API未在API控制檯中列出,則跳過此步驟。)
  • 當您的應用程序需要訪問用戶數據時,它會要求Google提供特定的訪問範圍。
  • Google向用戶顯示同意屏幕,要求他們授權您的應用程序請求其某些數據。
  • 如果用戶批准,Google會爲您的應用程序提供短期訪問令牌。
  • 您的應用程序請求用戶數據,將訪問令牌附加到請求。
  • 如果Google確定您的請求和令牌有效,它會返回請求的數據。

一些流程包含其他步驟,例如使用刷新令牌獲取新的訪問令牌。有關各種應用程序流程的詳細信息,請參閱Google的OAuth 2.0文檔。

範圍: https://www.googleapis.com/auth/drive.file - 按文件訪問用戶的驅動(https://www.googleapis.com/auth/drive)創建或打開由應用

Full access to all files文件可能需要一些應用程序。例如,旨在同步文件的應用程序需要對Drive的訪問級別。具有與列出或重組文件相關的特殊需求的應用程序可能需要全部範圍。

+0

感謝您的回答。可能你指的是谷歌驅動器休息API。我目前使用android谷歌驅動器本機api。所有請求都可以在一臺設備上正常工作。如果我使用具有相同帳戶的其他設備,它仍然正常工作。只有當我與另一個帳戶共享數據時,它不起作用。 – Thomas

相關問題