2012-05-17 14 views
38

私は認証手順を完了し、アクセストークンとリフレッシュトークンを取得しました。GoogleトークAPIを使用して更新トークンを使用してアクセストークンを生成するにはどうすればよいですか?

GoogleドライブAPIを使用して保存した最新表示トークンを使用してアクセストークンを生成するには、次に何をすべきですか?

Force.comで作業しているので、私はSDKを使用できません。そのため、APIを通じて直接実装する方法を提案してください。

答えて

19

あなた自身、Webサーバーアプリケーション用のOAuth 2.0のフローは、特にあなたがリフレッシュトークンの使用に関するセクションを確認する必要があり、https://developers.google.com/accounts/docs/OAuth2WebServerで文書化されていることを実装する場合:

https://developers.google.com/accounts/docs/OAuth2WebServer#refresh

+0

あなたが言及したドキュメントはRaw-HTTP通信のみを扱っています。トークンをリフレッシュするためのPHP-APIのメソッドはありますか? –

+0

https://developers.google.com/drive/credentials –

+0

@ClaudioCherubinoを確認してください..私は中断して申し訳ありません。しかし、私に教えてください。それはブラウザのprプレーヤーとのオーディオやビデオを再生するように公に使用することができますGoogleドライブの許可されたURLを得ることは可能ですか?iOS – NextStep

14

それは古いです私には完全に答えられていないようですが、この情報も必要でしたので、私は自分の答えを投稿します。

Google Apiクライアントライブラリを使用する場合は、リフレッシュトークンを含むアクセストークンを1つだけ用意する必要があります。アクセストークンが1時間後に期限切れになっても、ライブラリは更新されます自動的にあなたのためのトークン。

リフレッシュトークンを使用してアクセストークンを取得するには、オフラインアクセスタイプ(PHPなどの場合:$client->setAccessType("offline");)を入力する必要があります。最初の承認時にのみリフレッシュトークンを持つアクセストークンを取得するので、初めてそのアクセストークンを保存することを忘れないでください。いつでもアクセストークンを使用できるようになります。

は、Web APIを使用している場合、あなたはURLにHTTP POSTコールするべきです:-)

13

を誰にも役立ちます希望:以下のリクエストボディ

client_id: <YOUR_CLIENT_ID> 
client_secret: <YOUR_CLIENT_SECRET> 
refresh_token: <REFRESH_TOKEN_FOR_THE_USER> 
grant_type: refresh_token 

リフレッシュトークンでhttps://www.googleapis.com/oauth2/v4/tokenをあなたはとても有効期限が切れることはありません何度でも使用できます。応答は次のようなJSONになります。

{ access_token: 'ya....', token_type: 'Bearer', expires_in: 3599 } 
+0

これは動作していません –

+0

実際にhttpclientで作業しているかもしれません。 –

+2

リクエストの本文はx-www-form-urlencodedとしてお試しください。 –

関連する問題