0

YouTube プロフィール リクエストで問題が発生しました。Google アカウントをリンクしているユーザーに関連していると思います。

YouTube のシステムには、YouTube アカウントを承認するためのプロセスがあります。ユーザーがシステムを承認したら、アクセス トークンを使用してユーザーのデフォルト プロファイルを取得し、それが実際に承認されることを期待していたアカウントであることを確認します。https://gdata.youtube.com/feeds/api/users/default (PHP Zend ライブラリの ->getUserProfile() メソッドを使用) は、この 1 人のユーザーに対して NULL を返しています。おそらく、YouTube チャンネルのないメインの Google Apps アカウントと、別の YouTube チャンネル ([アカウントの切り替え] をクリックすると YouTube アカウント メニューに表示される) を持っているためだと思います。

Safari プライベート ブラウザと Chrome シークレット ブラウザを使用してみましたが、どちらも機能していないようです。

これがなぜなのか、また、ユーザーのリンクされたプロファイル/アカウントごとにプロファイルを確認する方法を知っている人はいますか?

4

1 に答える 1

0

すべてのアカウントに一意のユーザー名があるわけではありません。ユーザー名に依存するのではなく、チャンネル ID に依存する必要があります。

API ドキュメントから:

古い Data API v2 を使用している開発者にとって最大のポイントは、すべての YouTube チャンネルが一意のユーザー名を持っているわけではないことに注意する必要があるということです。<yt:channelId>幸いなことに、すべての YouTube チャンネルには一意のチャンネル ID が関連付けられていることが保証されており、タグ内の値で表されます。これは、開発者がユーザー名の代わりに使用することをお勧めする値です。たとえば、YouTube のユーザー名をそのチャンネルに関する情報にマッピングするデータベースがある場合、古いエントリは引き続き機能するはずです。(既存のチャンネルはユーザー名を失うことはありません。) ただし、時間が経つにつれて、ユーザー名で一意に識別できないチャンネルで作業する必要が生じる可能性がますます高くなります。

いくつかの要因により、ユーザー名からチャンネル ID への移行が簡単になります。まず、Data API v2 は、YouTube ユーザー名を受け入れる場所ならどこでもリクエスト URL でチャネル ID を受け入れます。つまり、チャネル ID を既存のコードにシームレスに置き換えることができます。たとえば、UC_x5XG1OV2P6uZZ5FSM9Ttw は従来のユーザー名 GoogleDevelopers を持つチャネルのチャネル ID であるため、次の 2 つの URL は同等の API 要求です。

https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1 https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1

認証済みの v2 リクエストを作成する場合は、リクエスト URL を作成するときに承認済みチャネルのユーザー名を含める必要はありません。ユーザー名 (またはチャネル ID) の代わりに値 default をいつでも使用できます。たとえば、現在承認されているユーザーのビデオ アップロード フィードを取得する場合は、https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1で実行できます。

于 2013-06-11T11:59:22.057 に答える