GoogleカレンダーAPIからユーザーカレンダーと予定を取得できます。基本的に私はAndroidのAccountManagerをから認証トークンを取得し、要求を行うために管理が、私は応答としてGoogleデータ(カレンダー)APIリクエストの承認ヘッズ
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
を取得します。それを生成するコードは(部分的です)。これをはじめて実行すると、アンドロイドは私が受け入れた自分のアプリのカレンダーデータへのアクセスを許可するように頼んだ。
final Account account = manager.getAccountsByType("com.google")[0];
AccountManagerFuture<Bundle> accountManagerFuture =
manager.getAuthToken(account, "cl", true,
new AccountManagerCallback<Bundle>() {
public void run(AccountManagerFuture<Bundle> future) {
try {
Bundle bundle = future.getResult();
if (bundle.containsKey(AccountManager.KEY_AUTHTOKEN)) {
final String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN);
final Uri usersCalendars = Uri.parse(
"https://www.googleapis.com/calendar/v3/users/me/calendarList")
.buildUpon()
.appendQueryParameter("key","--myapikey--")
.build();
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(usersCalendars.toString());
request.setHeader("Authorization","GoogleLoginAuth=" + authToken);
request.setHeader("GData-Version","3.0");
HttpResponse response = client.execute(request);
// outputting response, logging etc
ご覧のとおり、私はgoogle-api-java-clientを使用していません。基本的には、サンプルコードは、もはや存在しない/ AndroidのAccountManagerに移動されたメソッドを呼び出し、android-calendar-exampleは私のカレンダーをリストする代わりに401エラーを生成しました。
あなたにはヒントやドキュメントなどがありますが、嬉しいです。
編集私はちょうどその同じ結果で、経由で新しいものを取り出す
manager.invalidateAuthToken("com.google",authToken);
経由でトークンを無効にしようとしました。