4

サンプルのAndroidクライアントを動作させようとしています。

セットアップ手順のステップ4で立ち往生しています。

src / com / google / devrel / samples / ttt / ClientCredentials.javaのAUDIENCEの値を更新し、文字列「your_web_client_id」をAPIコンソールに登録したWebアプリケーションクライアントIDに置き換えます。

変更する必要のあるコード行は次のとおりです。

public static final String AUDIENCE = "server:client_id:your_web_client_id";

「WebアプリケーションクライアントID」の意味がわかりません。JavaバックエンドをGAEで稼働させていますが、APIコンソールで何もしていません。

何か案は?


編集

JavaバックエンドのクライアントIDコードは次のとおりです。

/**
 * Contains the client IDs for allowed clients consuming the tictactoe API.
 */
public class Ids {
  public static final String WEB_CLIENT_ID = "240003018828.apps.googleusercontent.com";
  public static final String ANDROID_CLIENT_ID = "240003018828-rp5ahj5b1eo76g55m1qtq4vvm57dqoj6.apps.googleusercontent.com";
  public static final String IOS_CLIENT_ID = "replace this with your iOS client ID";
  public static final String ANDROID_AUDIENCE = WEB_CLIENT_ID;
}

そして、AndroidプロジェクトのクライアントIDコードは次のとおりです。

public class ClientCredentials
{
    public static final String AUDIENCE = "server:client_id:240003018828-rp5ahj5b1eo76g55m1qtq4vvm57dqoj6.apps.googleusercontent.com";
    // public static final String AUDIENCE = "server:client_id:your_web_client_id";
}

また、Androidプロジェクトから:

  /**
   * The default encoded root URL of the service. This is determined when the library is generated
   * and normally should not be changed.
   *
   * @since 1.7
   */
  public static final String DEFAULT_ROOT_URL = "https://sample-ttt.appspot.com/_ah/api/";
4

2 に答える 2

4

Androidのエンドポイントドキュメントの「認証済み通話の作成」の部分を参照してください。

プロジェクトのGoogleAPIコンソールに2番目のクライアントIDを追加します。これをする:

  1. コンソール内のプロジェクトの[APIアクセス]タブで、[別のクライアントIDを作成]をクリックします。
  2. リストアイテム
  3. [クライアントIDの作成]フォームで、アプリケーションの種類として[インストール済みのアプリケーション]を選択し、インストール済みのアプリケーションの種類として[Android]を選択します。
  4. [パッケージ名]というラベルの付いたテキストボックスに、Androidアプリケーションのパッケージ名を入力します。
  5. [証明書のフィンガープリントに署名する]というラベルの付いたテキストボックスに、生成したデバッグキーまたはリリースキーを入力します。
  6. [クライアントIDの作成]をクリックします。

Webアプリケーション用に作成する必要があるため、2番目のクライアントIDについて説明します。プロセスの最後に、2つのクライアントIDが必要です。1つはAndroid用、もう1つはWeb用です。バックエンドコードでは両方のクライアントIDを使用しますが、Androidコードには後者のクライアントID(特別にフォーマットされた文字列を介して)のみを含めます。

于 2013-02-19T23:53:45.983 に答える
1

App EngineバックエンドのAUDIENCEフィールドをWebアプリケーションIDで更新しましたか?AndroidクライアントからGCEを使用するには、APIコンソールに登録したWebアプリケーションID(AndroidクライアントIDではない)を使用して、@Apiアノテーションの[オーディエンス]フィールドも更新する必要があります。

于 2013-02-28T13:00:42.167 に答える