サービス アカウント サンプルで「invalid_grant」エラーが発生する最も一般的な方法は、登録済みの電子メール アドレスをコードに挿入するのを忘れていることです。
https://developers.google.com/consoleにアクセスしてから API Access に移動し、サービス アカウントを登録した場所を確認します。
次のようなラベルの付いたフィールドが表示されます。
Email address: XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXX@developer.gserviceaccount.com
この値をコピーして挿入する必要があります
plus-serviceaccount-cmdline-sample/src/main/java/com/google/api/services/samples/plus/serviceaccount/cmdline/PlusServiceAccountSample.java
次のように行で:
/** E-mail address of the service account. */
private static final String SERVICE_ACCOUNT_EMAIL = "Enter service account e-mail from "
+ "https://code.google.com/apis/console/?api=plus into SERVICE_ACCOUNT_EMAIL in "
+ PlusServiceAccountSample.class;
次のようになります。
/** E-mail address of the service account. */
private static final String SERVICE_ACCOUNT_EMAIL = "XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXX@developer.gserviceaccount.com";
これと、.p12 キーをプロジェクトにダウンロードすることは、アプリケーションが認証するために重要です。