2016-11-22 10 views
1

Google APIのドキュメントを読んだ後。私たちが作成するプロジェクトがプライベートデータにアクセスする必要がある場合は、oauthを使用する必要があります。しかし、ここに私の状況です。私たちはYoutubeでビジネスアカウントを開き、自分のアカウントにビデオをプッシュするプロジェクトを作成しますが、他のユーザーのアカウントを操作する必要はありません。 OAuthなしでgoogle youtube data apiを使用できますか?OAuthなしでgoogle youtube data apiを使用できますか?

+0

私は@DalmToから得た助けを借りて、私はgithubのにビデオをアップロードするには、GoogleのノードのクライアントAPIを使用してプロジェクトを作成しました。 [githubLink](https://github.com/ruhaitsia/timeconsole)。同じ問題がGoogleのoauth2clientを使用している場合は、見てください。 –

答えて

3

Google APIを使用してプライベートユーザーデータにアクセスするには、2通りの方法があります。

  1. 海峡Oauth2。あなたがアカウントにアクセスすることができればアカウントの所有者に尋ねる同意を得ることができます。
  2. Service accountsは、技術的に開発者の許可を受けています。

通常、あなたが自分の所有するアカウントにアクセスしているだけなので、サービスアカウントを使用します。残念ながら、YouTube APIはサービスアカウント認証をサポートしていません。

サービスアカウントのサポートが不足しているため、Oauth2を使用する必要があります。私は過去にこれをしてきました。

何らかのサーバー側の言語を使用してスクリプトを一度認証します。認証サーバーがリフレッシュトークンを返します。リフレッシュトークンは、いつでも新しいアクセストークンを取得するために使用できます。アクセストークンはGoogle APIにアクセスするために使用され、1時間有効です。このリフレッシュトークンをどこかに保存します。必要に応じてYouTubeアカウントにアクセスできるようになります。

注:あなたはそれを見なければなりません。リフレッシュトークンがまれに無効になることがあります。新しいリフレッシュトークンを保存し直してアプリケーションを再認証できるようにスクリプトを準備することをお勧めします。それはまれですが、それは起こることはまれですが、事前に対になることが最善の出来事です。 Oauthのポイントの

のOauthプレイグラウンド

部分は、それがGoogleデベロッパーコンソールのプロジェクトの作成かかわらず、Googleにアプリケーションを識別するということです。クォータやAPIへのアクセスは、それを介して制御されます。 APIをスパムすると、彼らはあなたを知り、あなたをシャットダウンします。 (これは決して見られませんでした)

ユーザーのアクセスをリクエストすると、Google開発者コンソールのプロジェクト名がポップアップ表示されます。これは、Google開発者コンソールのプロジェクトのクライアントIDとクライアントの秘密によって識別されます。 oauthプレイグラウンドを使用すると、「Google OAuth 2.0 Playground like to ..」というメッセージが表示されます。

Google Playgroundを使用すると、自分でリフレッシュトークンを作成することができます。他のデベロッパーもこれをやっているなら、YouTubeのクォータは1日のうちに使い果たされるかもしれません。また、セキュリティ上の賢明な点として、あなたはそのプロジェクトにあなたのデータへのアクセス権を与えています。 googleが突然クライアントIDの変更を削除するか、新しいものを生成するかを1秒間無視してください。リフレッシュトークンは機能しなくなります。もしrandom dev Xでもそれを使っていて、すべてがスパムして、クライアントIDがシャットダウンしたらどうなるでしょうか(これは昨年起こったと思います)、あなたのgoogleが今度は新しいクライアントIDをアップロードするのを待たなければなりません禁止された。

Google OAuth 2.0プレイグラウンドはシームですが、毎日の使用には適していません。IMOはそれ以上のテストには適していません。あなた自身のプロジェクトを作成し、あなた自身のアクセスを得ることは、ハードではなく、http投稿を処理できるプログラミング言語を必要とします。

私のチュートリアルGoogle 3 legged oauth2 flow

+0

私はまた、Googleがoauth playgroundというツールを提供していることに気付きました。リフレッシュトークンとアクセストークンを生成できます。リフレッシュトークンを取得するために自分のスクリプトを書く代わりに、このツールを使用できますか?長寿命のリフレッシュコードは期限切れではなく、いつでもアクセストークンを生成するために使用できます。 しかし、サービスアカウントはYouTubeのデータには使用できません。 ご協力いただきありがとうございます。 DalmTo、本当にそれを感謝します。 –

+0

これはテキストの壁になってしまいました。申し訳ありません:)私はこれを4年間続けてきました。正しい方向に向けるための時間を節約できます。 – DaImTo

+1

@DalmTo、YouTubeで、この動画[OAuthプレイグラウンドを使用してYouTube APIコールの更新トークンを生成する](https://www.youtube.com/watch?v=hfWe1gPCnzc&list=PLhBgTdAWkxeB-zCekGukAo0DzmpwBiua2&index=6)を見ました。私たちは独自のクライアントIDとシークレットを使ってoauth遊び場でリフレッシュトークンを生成することができます。 はい、リフレッシュトークンを生成するための独自のコードを記述する必要があります。あなたの詳細な説明をありがとう。 –

関連する問題