2

認証にユーザーの Google アカウントを使用する Android アプリ用の Google Cloud Endpoints バックエンドを作成しようとしています。Java API には OAuth スコープの注釈が含まれていることがわかりましたが、Python のドキュメントではそれに対する単一の参照しか作成されていません。

エンドポイントで使用している注釈は次のとおりです。

@endpoints.api(name='notes', version='v1',
           description='Notes API',
           allowed_client_ids=[CLIENT_ID, endpoints.API_EXPLORER_CLIENT_ID],
           audiences=[AUDIENCE],
           scopes=['https://www.googleapis.com/auth/userinfo.email'])

ただし、生成されたコードにはスコープがありません。

/**
 * Available OAuth 2.0 scopes for use with the .
 *
 * @since 1.4
 */
public class NotesScopes {

  private NotesScopes() {
  }
}

生成されたサービス クラスでさえ、欠落しているようです。

/**
 * 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://None/_ah/api/";

/**
 * The default encoded service path 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_SERVICE_PATH = "notes/v1/";

注釈または構成オプションが欠落していると想定しています。誰がそれが何であるか知っていますか?

4

1 に答える 1

0

アノテーションのscopes属性は、Android 認証フローでは使用されません。これが、生成された Java コードに含まれない理由の 1 つです。代わりに、Android は ID トークンを使用します。ID トークンには、スコープを要求することなく、バックエンドに対してユーザー/アプリケーションを表すのに十分な情報が含まれています。

于 2013-02-28T21:21:50.033 に答える