-1
私は数ヶ月前にGitHubに「完了」した小さなGoogle App Engineプロジェクトを持っています。Google OAuth 2.0アクセストークンリクエストエラー
これまでのところ(最後の使用は2〜3か月前でしたが)、Googleが何か変わったように見えますが、実際の問題点と解決方法はわかりません。
問題は、このファイル(行59)である: File
コード:
public class TokenManager {
static private final String TOKEN_URL = "https://www.googleapis.com/oauth2/v3/token";
static private final String ENC = "UTF-8";
private String _refreshToken;
private String _clientId;
private String _clientSecret;
private final Gson _gson = new Gson();
private TokenData _tokenData = new TokenData();
...
private void refreshAccessToken() throws Exception {
String payload = "client_secret=$client_secret&grant_type=refresh_token&refresh_token=$refresh_token&client_id=$client_id";
payload = payload.replace("$client_secret", URLEncoder.encode(_clientSecret, ENC));
payload = payload.replace("$refresh_token", URLEncoder.encode(_refreshToken, ENC));
payload = payload.replace("$client_id", URLEncoder.encode(_clientId, ENC));
HTTPRequest request = new HTTPRequest(new URL(TOKEN_URL), HTTPMethod.POST);
request.setPayload(payload.getBytes(ENC));
String stringData = new String(URLFetchServiceFactory.getURLFetchService().fetch(request).getContent(), ENC);
_tokenData = _gson.fromJson(stringData, TokenData.class);
}
}
問題がアクセストークン要求周りあります。 (私はオフラインリフレッシュトークンを使用しています。)
応答はこれです:
{
"error": "invalid_grant",
"error_description": "Bad Request",
"error_uri": ""
}
- 私が「https://www.googleapis.com/oauth2/v4/token」
- TOKEN_URLを変更しようとした私は、新しいリフレッシュトークンを生成しようとしました。
- 新しいOAuthクライアントIDを作成しようとしました。
すべての試みに同じ問題がありました。
何が悪いと思いますか?
ありがとうございました!
あなたのコードを投稿してください。 – mjs
準備完了。申し訳ありません、ポストはコードスニペットなしでより透明に見えましたが、私はそれを修正しました。 – apost