1

Adwords API へのアクセスを OAuth2 認証に切り替えました。私たちのアプリケーションにはユーザー操作がないため、サービス アカウントを使用したいと考えています。そのため、Google API コンソールで mcc アカウント用のサービス アカウントを作成しました。そして使用:

GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(new NetHttpTransport())
.setJsonFactory(new JacksonFactory())
.setServiceAccountId("..@developer.gserviceaccount.com")
.setServiceAccountScopes("https://adwords.google.com/api/adwords/")
.setServiceAccountPrivateKeyFromP12File(file)
.setServiceAccountUser("<MCC Account Email")
.build();

資格情報を作成します。

API 呼び出しを行うか、単に を呼び出しようとするとcredential.refreshToken()、次のようになります。

com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
{
  "error" : "access_denied"
}
at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105)
at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:303)
at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:323)
at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:345)
at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:526)

..

私が間違っていること、または私がやり忘れたことを誰かに教えてもらえますか?

4

1 に答える 1