2013-06-04 25 views
5

私のアプリケーションにはシフトのリストが含まれています。シフトのリストをGoogleドライブアカウントのスプレッドシートファイルに保存したいのですがGoogleスプレッドシートAPIは、スプレッドシートファイルを作成するためにGoogleドキュメントAPIの非推奨版を使用しています。どのようにしてGoogleドライブのファイルを作成して編集すればいいですか?GoogleドライブAPIのみを使用してを使用して、Androidアプリケーション内のJavaコードからすべてのユーザー操作(権限を除く)を行わないでください。AndroidドライブからのみGoogleドライブAPIを使用してGoogleドライブにスプレッドシートファイルを作成して編集するにはどうすればよいですか?

答えて

4

Google Spreadsheet API 3.0をご覧ください。 Androidアプリケーションで使用できるJAVAをサポートしています。

+4

これは、と思われますスプレッドシートを作成するには、Google doc apisを使用する必要がありますが、** "GoogleドキュメントリストAPIのバージョン3は正式に廃止されました2012年9月14日" ** GoogleドキュメントAPI APIページでは、GoogleドライブAPIを使用することをおすすめしますが、スプレッドシートファイルを作成して編集する方法を見つけることができないようです。 –

4

GoogleドキュメントAPIは廃止されましたが、スプレッドシートAPI(現在:v3)はまだ生きています。

オリジナルのスプレッドシートとドキュメントの組み合わせと同じ機能を実現するには、ドライブAPIを使用して検索/移動/作成/削除などのファイル操作を実行する必要があります。ドライブのAPIのためのスコープに加えて

、あなたの助成金に次の範囲を追加します。

https://spreadsheets.google.com/feeds 

あなたはGData client libraryGoogle OAuth client libraryを使用している場合、それは両方のサービスのOAuth 2.0承認後にセットアップが非常に簡単になります。ここでは例です:あなたはシートのAPIメソッドを使用してファイル内のドライブのAPIメソッドおよびアクセスのワークシートを持ついくつかのファイルのIDを検索することができますので、両方のAPIで

// Acquire clientId, clientSecret and refreshToken 
... 

// Create shared credential 
GoogleCredential credential = new GoogleCredential.Builder() 
      .setClientSecrets(clientId, clientSecret) 
      .setJsonFactory(jsonFactory) 
      .setTransport(transport) 
      .build().setRefreshToken(refreshToken); 

// Setup both servives 
Drive driveService = new Drive.Builder(transport, jsonFactory, credential).build(); 
SpreadsheetService sheetService = new SpreadsheetService(...); 
sheetService.setOAuth2Credentials(credential); // only provided in newer releases 
sheetService.useSsl(); 

リソースIDは、同じです。 、 - 「AuthSubのトークンが間違ったスコープを持つトークン無効」feedUrlにaccessTokenのクエリ文字列を追加すると役立つことがありますのエラーが発生する場合

File file = driveService.files().get().setFields(...).execute(); 
String feedUrl = "https://spreadsheets.google.com/feeds/worksheets/" 
      + file.getId + "/private/full"; 
WorksheetFeed feed = sheetService.getFeed(feedUrl, WorksheetFeed.class); 

:ここでは一例です。 FYI

feedUrl = feedUrl + "?access_token=" + credential.getAccessToken(); 

、この答えを書くとき、私は呼ばきたようにQ &のリスト。

  • "ドライブSDKで作成したスプレッドシートをゲット"
  • "のOAuth2でGoogleドライブSDK alternateLink"
  • "スプレッドシートのAPIとGoogleドライブのAPIを使用することが可能です"
関連する問題