1

エンドポイントが Android ではなく Google API Explorer で完全に正常に動作する理由がわかりません。

https://developers.google.com/apis-explorer/?base=https://prncts.appspot.com/_ah/api#p/pronocities/v1.0.1/pronocities.content.get?id=aghzfnBybmN0c3IJCxIBZBj5zAMM&_h=1&

実際、GAEエンドポイントサーバー側に対して呼び出しが行われ、ユーザーがOAuthを介して完全に認証されていることがわかるので、ほとんど機能します。

データが電話に送り返される方法に問題があるようです。

電話で取得したログは次のとおりです。

07-28 15:12:53.305: W/System.err(3034): com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
07-28 15:12:53.305: W/System.err(3034): {
07-28 15:12:53.305: W/System.err(3034):   "code": 400,
07-28 15:12:53.305: W/System.err(3034):   "errors": [
07-28 15:12:53.305: W/System.err(3034):     {
07-28 15:12:53.305: W/System.err(3034):       "domain": "global",
07-28 15:12:53.305: W/System.err(3034):       "message": "java.lang.IllegalArgumentException: name cannot be null or empty",
07-28 15:12:53.305: W/System.err(3034):       "reason": "badRequest"
07-28 15:12:53.305: W/System.err(3034):     }
07-28 15:12:53.305: W/System.err(3034):   ],
07-28 15:12:53.305: W/System.err(3034):   "message": "java.lang.IllegalArgumentException: name cannot be null or empty"
07-28 15:12:53.305: W/System.err(3034): }
07-28 15:12:53.305: W/System.err(3034):     at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:111)

返されたオブジェクトは、Google API Explorer で確認できるように、非常に単純な POJO です。

EDIT1:

TicTacToe の例から主に取られた Android 側のコード:

settings = getSharedPreferences("PronoCities", 0);
credential = GoogleAccountCredential.usingAudience(
        this, "server:client_id:<myid>.apps.googleusercontent.com");
setAccountName(settings.getString(PREF_ACCOUNT_NAME, null));

Pronocities.Builder builder = new Pronocities.Builder(
        AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential);
service = builder.build();

どんな助けでも大歓迎です。

フランソワ

google-api-client-1.15.0-rc ライブラリを使用し、Samsung Galaxy S3 / Android 4.1.2 で実行しています。

4

1 に答える 1