3

Spreadsheets API を Drive API と結び付ける方法はありますか? つまり、Google ドライブのファイル ID を持っている場合、同じ ID と同じ oAuth 資格情報を使用して Spreadsheets API に切り替えることができますか?

私は php を使用していますが、特にスプレッドシート API 用の貴重なリソースはほとんどありません。

4

2 に答える 2

3

さらに、次のスコープのユーザーにアクセス許可を付与する必要があります。

https://spreadsheets.google.com/feeds

リソース ID は両方の API で同じです。で識別されるドライブ上の私のスプレッドシート ファイルは0AifSjdPVs9MZdE10eXZTVHVneW9aYjJGVFMxV0VYUEE、同じ ID のスプレッドシート API でアクセスできます。

https://spreadsheets.google.com/feeds/spreadsheets/0AifSjdPVs9MZdE10eXZTVHVneW9aYjJGVFMxV0VYUEE

注: スプレッドシートを一般公開しました。このファイルでスプレッドシート API バックエンドを試すことができます。

于 2013-04-09T23:13:23.690 に答える
2

これが私が思いついた解決策です:

  1. google-api-php-client ライブラリと Zend GData ライブラリ (Zend Framework 1.2、依存関係あり) の両方を取得します。
  2. ログインと認証を処理するには、Google API の Google_Oauth2Service クラスを使用します。https://www.googleapis.com/auth/drive 「スコープ」にAND が含まれていることを確認してくださいhttps://spreadsheets.google.com/feeds
  3. oauth2 ハンドシェイクが完了すると (詳細についてはドキュメントを参照してください)、json でエンコードされた文字列であるトークンを取得します。これを PHP オブジェクトに変換します。$tok = json_decode([token string])
  4. ここに魔法があります。トークンのアクセス ピースを Zend ライブラリに渡すだけです。

$authsub = Zend_Gdata_AuthSub::getHttpClient($tok->access_token);
$spreadsheet_service = new Zend_Gdata_Spreadsheets($authsub);

これで、Zend ライブラリに記載されているスプレッドシート サービスを使用できるようになりました。よく働く。

于 2013-04-11T14:09:15.663 に答える