2017-07-06 17 views
5

デベロッパーコンソールの機能に関して少し混乱しています。Googleデベロッパーコンソールの理解

私はyoutubeデータにアクセスするプロジェクトがありますapiv3。 、キー 本のうち

  1. ブラウザキー
  2. サーバキー
  3. WebクライアントOAuth2.0クライアントIDシークレットキー
  4. アンドロイド:私は私のプロジェクトを作成し、4つのキーを持っています最初の3つはGoogleサービスによって自動生成されます。

    1. は、なぜ私が最初に入手できます3つの自動生成:私は答えを取得していないよう、以下の質問を持っているproject.IのSHA-1フィンガープリントを与えることで、Androidの鍵を生成しましたか?バックエンドではうまくいかないので、クライアントがブラウザキーの代わりにサーバーキーを使用するとどうなりますか?違いは?

    2. SHA-1は、公開鍵暗号のように動作するように使用されていると思います。パッケージや開発環境のみに依存していますか?私はこれにkeytoolを使用していませんが、StudioのSigningReports機能で直接行っています。指紋がどのようなパラメータに依存しているのですか?デバッグキーストアを削除して新しいSHA-1を作成しました。 Androidスタジオは自動的にデバッグキーストアを再生成します。また、この暗号はどのように正確に機能しますか?

    3. iOSの同僚は、秘密鍵なしでトークンにアクセスして更新することができます。 AFAIK OAuth2.0では、認証トークンを取得し、クライアントID、秘密鍵、APIキーを使用してアクセス権を取得し、トークンをリフレッシュする必要があります。秘密鍵はここでどのような役割を果たしますか?

    4. 最も重要なことは:私は私のプロジェクトで異なるAPIキーを持っています。グーグル-services.json中の一つが

      はまだそれが動作します!!違う、新しいYouTubePlayer.OnInitializedListener()異なると

    youTubePlayerFragment.initialize(API_KEYである。どのように??

+1

DownVoters説明を提供してください?私はこれが私のようなnoobからの完全に有効な質問だと思う。私は確かに、それが様々な分野から来ているので、一人の人からすべての細部を得ることを期待していません。しかし、あなたが知っていることを少なくとも貢献することができ、将来の訪問者に役立つでしょう。 –

答えて

1

回答1:

developer console

サーバーキーからサーバーキーとブラウザキーの違い:

アプリケーションがサーバー上で実行されている場合は、サーバーキーを作成して使用します。サーバーコードの外でこのキーを使用しないでください。たとえば、Webページに埋め込まないでください。クォータ盗難を防ぐには、サーバーの送信元IPアドレスからの要求のみが許可されるようにキーを制限します。

ブラウザキー:

アプリケーションはWebブラウザなど、クライアント上で実行されている場合、ブラウザのキーを作成して使用します。許可されていないサイトでキーが使用されないようにするには、管理するドメインの参照のみを許可します。

回答2:

それはあまりにもキーツールとSigningReports機能で動作します。

回答4:

は、GoogleのデベロッパーコンソールでAPIキーを有効にしてからprojectroot/yourapp/src/debug/AndroidManifest.xml元で、プロジェクトのAPIキーを使用しているときは、複数のAPIキーとその可能性を使用することができます。

<!-- Goolge Maps API Key --> 
<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="******************" />  

<!-- Google Places API Key --> 
<meta-data 
    android:name="com.google.android.geo.API_KEY" 
    android:value="******************" /> 
+0

私はまだ最初の質問に対する答えを理解していませんでしたが、あまり優先されないので、私はそれについて議論しません。私は第二の質問に関して誤解があったと思うので私の質問を編集しました。 4番目の質問に対するあなたの答えは、google-services.jsonには、そのプロジェクトに対応するすべてのapiのキーが含まれていると思いました。なぜそれは1つだけのキーを持っていますか? –

1

YoutubeへのリクエストはGoogle Playサービス経由で行われます。 OAuth2.0 OAuth2.0トークンをリクエストに埋め込みます。 OAuth2.0トークンには、特定の種類のAndroidキーが付属しています。異なるAndroidキーはです。サーバ、ブラウザ、Android、IOSなど

OAuthは、あなたのユーザ認証に関連付けられています。 OAuthがさらに運び、Android KeyがGoogle Playサービスを提供する - Google PlayサービスはGoogleデベロッパーコンソールで情報を読み取り、特定の種類のデバイス(iso、ブラウザ、Androidなど)がYouTubeサーバーにリクエストしているかどうかを判断します。

Android搭載端末の場合は、ブラウザとサーバーのキーは必要ありません。

https://developers.google.com/youtube/android/player/register

1

私が間違っている場合は、私を修正してください。

  1. ブラウザキー:あなたのアプリのために、独自のバックエンドのAPIを構築すると言うと、それはする必要があり ことができます:あなたがウェブサイトを持っているし、そこからあなたが したいユーチューブのAPIにキー

    サーバーを消費としましょう

    Androidの主なYouTubeのAPIを消費:あなたもAndroidアプリを持っているし、それはあなたが別のAPIの各消費者を追跡することができ YouTubeのAPI

    を消費する必要があるとしましょう異なったキーで。あなたは 交換することができます(わからない)が、それはちょうど追跡を混乱させるでしょう。

  2. SHAはキーストア(デバッグ/署名済み)に依存し、すべてのシステムに固有の デバッグキーストアがあります。独自の署名付きキーストアを作成できます。

  3. What is the Access Token vs. Access Token Secret and Consumer Key vs. Consumer Secret私が思うには任意のOAuthの

  4. まあYouTubeのAPIに適用され、GoogleマップAPIやその他のAPIは、独立したサービスです。個別にトラッキングする必要があるため、コンシューマ1人あたりサービスごとにAPI_KEYが異なります(1で説明します)。

注:私はAPIクオータのような意味追跡することにより、毎秒ヒットなど

+0

私はSHA-1がユニークでキーストアに依存していることを理解していますが、正確には私の質問は異なるマシンでどのように違うのですか?どのようなものがキーストアが生成され、どのようにAPIキーと完全な認証メカニズムを生成するために使用されます。私はkeytool(jreの一部)について聞いたことがあります。また、OpenSSLなどのツールについて聞いたことがありますが、明確なアイデアはありません。 @shweta porwalsについての私のコメントを見てください。4.そして、私は後で約3を読んでいます。ありがとう –

関連する問題