我创建了一个 Google 登录应用,它使用 Google People API 服务。不过我还需要访问用户的 YouTube channel 。
这可以向登录用户提供选择他们想要登录的 channel 的选项。如果他们使用主帐户登录,就没有问题。
但是,他们很可能拥有多个 channel (现在称为品牌帐户)。这里的问题是,我将获得正确的 YouTube channel ID,但用户详细信息将针对品牌帐户,并且电子邮件是硬编码电子邮件,例如:[email protected]
查看品牌帐户管理页面,它表示发送到该电子邮件的邮件应发送给主帐户持有人。然而这绝对不会发生。
我还尝试了一种自动增量方法来请求权限,但这也不起作用,因为每个用户帐户都直接链接到 YouTube channel ,并且登录后只会返回该(品牌)帐户的默认帐户。
我只是不确定如何可靠地获取一个人(有效)的电子邮件地址以及他们想要在我们的系统中使用的 YouTube channel 。
非常感谢任何指点
最佳答案
我知道您可以使用 Google 登录来验证 YouTube channel 的登录。该登录要求提供与该 channel 关联的电子邮件帐户。我相信(至少在我工作的 Android 代码中)我可以从那里访问 channel 列表。但是,如果用户拥有凭据,则可以从初始登录中选择任何电子邮件地址,以访问与该电子邮件地址关联的 YouTube 帐户。
它有一种在 api 上执行请求的方法以及一个更新函数。
这是一个获取 channel 列表,然后使用索引 0 作为 channel ID 的示例:
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());
关于google-api - youtube api 和 google people api 和品牌帐户的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41634463/