2012-02-24 11 views
2

私はAndroidアプリケーションにGoogleカレンダーを統合しています。私はhttp://code.google.com/apis/calendar/v3/using.html#clientで説明されているアクセストークンとリフレッシュトークンの承認と撤回の例に従った。ドキュメンテーションではすべてがうまく説明されているので、すべてうまく動作します。しかし、プログラムでリフレッシュトークンを元に戻す方法のサンプルコードは見つかりませんでした。誰もリフレッシュトークンを元に戻す方法を知っていますか?私はJavaでプログラミングしています。JavaでGoogle APIの更新トークンを取り消すにはどうすればよいですか?

-アリス

+0

私はあなたが現在できるとは思わない。ユーザーは自分の情報へのあなたのアプリケーションのアクセスを取り消すことができますが、あなたのアプリケーションはAFAIK自身のアクセスを取り消すことはできません。 –

+0

実際にすることができます。次のドキュメントに基づいています:http://code.google.com/apis/accounts/docs/OAuth2WebServer.html "プログラムでトークンを取り消すには、アプリケーションがhttps://accounts.google.com/o/にリクエストしますoauth2/revoke、パラメータとしてリフレッシュトークンを含める "説明されていない点は、Googleが提供するライブラリgoogle-api-client-1.6.0-betaを使用して行う方法です。誰かがこのライブラリを使ってリフレッシュトークンを取り消す方法を経験しているかどうか聞いていました。 –

+0

ああ、素晴らしい。ありがとう、あなたは毎日何か新しいことを学びます! :) –

答えて

0

まず、APIを使用して、トークン自体を使用してトークンを取り消します。

String url = String.format(
    "https://accounts.google.com/o/oauth2/revoke?token=%s",token); 

get(url, token); // An example helper that adds the token to the request. 

リフレッシュトークンまたはアクセストークンは、アプリケーションによってキャッシュされた場合にも、データストア(または他の記憶メカニズム)からトークンを削除します。

dataStoreFactory.getDataStore<StoredCredential>("theUserId").clear(); 
関連する問題