2017-01-13 18 views
1

Google People APIサービスを使用するGoogle Signinアプリを作成しました。しかし、私はまた、ユーザーのYouTubeチャンネルにアクセスする必要があります。youtube api&google people api&brand accountsの問題

これは、サインインするユーザーに、サインインするチャネルを選択するオプションを提示することができます。彼らがメインアカウントでサインインしても、問題はありません。

しかし、彼らは複数のチャネル(現在はブランドアカウントと呼ばれる)を持つ可能性が高いです。ここでの問題は正しいYouTubeチャンネルIDを取得することですが、ユーザーの詳細はブランドアカウントのものになります。このメールは次のようなハードコードされたメールです:

ブランドアカウント管理ページでは、そのメールへの送信はメインアカウントの所有者に送信されるべきだと言います。しかし、これは最も確実に起こっていません。

権限を要求する自動インクリメンタルアプローチを試しましたが、各ユーザーアカウントがYouTubeチャンネルに直接リンクされていて、ログインしてもその(ブランド)アカウントのデフォルトのアカウントを返すだけでは機能しません。

私はImが確実に私たちのシステムで使用したい人(有効な)電子メールアドレスとYouTubeチャンネルを確実に取得することを意味していません。

任意のポインタがはるかに私はあなたがGoogleがユーチューブチャンネルへのログインを認証するためのログインに使用できることを知っている

答えて

1

を高く評価しました。そのサインインは、チャンネルに関連付けられている電子メールアカウントを要求します。私は(少なくとも私が働くアンドロイドコードで)私はそこからチャンネルリストにアクセスすることができますと信じています。しかし、ユーザーは最初のログインから任意の電子メールアドレスを選択して、その電子メールアドレスに関連付けられたYouTubeアカウントにアクセスすることができます。

これは、APIや更新機能でもリクエストを実行する方法を持っています。

Branding channels

これは、チャンネルリストを取得し、channelIdのインデックス0を使用するサンプルである:

YouTube youtube = new YouTube.Builder(transport, jsonFactory, 
        credential).setApplicationName(getString(R.string.app_name)) 
        .build(); 


      YouTube.Playlists.List playLists; 
      PlaylistListResponse playlistListResponse = null; 
      List<PlaylistData> PlaylistData = new ArrayList<PlaylistData>(); 


      try { 

       ChannelListResponse clr = youtube.channels().list("contentDetails") 
         .setMine(true).execute(); 

       playLists = youtube.playlists().list("id,status,snippet"); 
       playLists.setChannelId(clr.getItems().get(0).getId()); 
+0

例は – qre0ct

+0

アプリは、このされ理解されるであろうか? – keepTrackOfYourStack