0

Android アプリに Google カレンダーを統合しています。イベント情報にアクセスするには、ユーザーが承認する必要があります。認可リクエスト URL の作成には GoogleAuthorizationRequestUrl を使用します。コードは次のとおりです (以下のスニペットでは、元のクライアント ID を文字列 CLIENT_ID に置き換えています)。

String url = new GoogleAuthorizationRequestUrl(CLIENT_ID, 
                    "http://localhost", 
                    "https://www.googleapis.com/auth/calendar.readonly").build();

GoogleAuthorizationRequestUrl が構築する URL は次のとおりです。

https://accounts.google.com/o/oauth2/auth?b=https://www.googleapis.com/auth/calendar.readonly&client_id=CLIENT_ID&redirect_uri=http://localhost&response_type=code

それ以外の

https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/calendar.readonly&client_id=CLIENT_ID&redirect_uri=http://localhost&response_type=code

言い換えれば、URL に「scope=https://www.googleapis.com/auth/calendar.readonly」が含まれていることを期待していますが、「b=https://www.googleapis.com/auth/calendar.readonly」があります。 "。

奇妙なことに、APK を公開する準備をしているときにのみ、間違ったリクエスト URL を取得します。私のデバッグ環境では、GoogleAuthorizationRequestUrl が正しい URL を構築しています。

誰かがこの振る舞いについて考えを持っていますか?

ありがとう、アリ

4

1 に答える 1

0

誰かが解決策を探してこの投稿を読む場合に備えて、proguard.cfgに次の2つのエントリを追加することで、実装を実行しました。

-keep class com.google.api.client.** { *; }

-keep class com.google.api.services.calendar.model.** { *; }
于 2012-03-22T00:49:13.943 に答える