如何查看Google帐户持有人是否具有YouTube频道(已链接)



根据Google文档,任何Google帐户持有人也是YouTube帐户持有人,但他可能不会"链接",即拥有YouTube频道。应用程序只能将视频上传到链接帐户。

如果您使用帐户管理器获取Google帐户持有人的列表,那么您无法判断其中任何一个链接。我需要一种方法来找出是否链接。

似乎没有直接对YouTube API的专用呼叫来查看帐户是否具有通道(已链接)。

也许可以重新使用代码的以下片段以执行此操作:

  List<String> scopes = new ArrayList<>();
  scopes.add(       SendToGoogleUtils."https://www.googleapis.com/auth/youtube.upload" );
  if( ( googleAccountCredential = SendToGoogleUtils.getGoogleAccountCredential(
    mContext, accountYoutube.name, scopes ) ) == null) return;
  String gAToken = googleAccountCredential.getToken();
  youtube = new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY, googleAccountCredential)
    .setApplicationName(getString(R.string.tourmaker_app_name))
    .build();
  YouTube.Channels.List channelRequest = youtube.channels().list("contentDetails");
  channelRequest.setMine(true);
  channelRequest.setFields("items/contentDetails,nextPageToken,pageInfo");
  ChannelListResponse channelResult = channelRequest.execute();

如果coundyoutube(请参阅代码第4行)链接,则该代码运行正常,然后进行以后的代码上传。

如果未链接AccountyOutube,则执行语句抛出GoogleJSonResponseException:

com.google.api.client.googleapis.json.googlejsonresponseexception:403禁止 { "代码":403, "错误":[{{ "域":"全球", "消息":"许可不足", "原因":"不足的事业" }], "邮件":"许可不足" }

因此,此代码告诉您是否链接了councelyoutube。这种代码是否是确定AccountyOutube是否具有频道(已链接)的合理方法?

我是可疑的,因为这个例外似乎是我可能无法依靠的副作用。

我正在寻找一种确定Accounyoutube是否链接的最佳实践方法。我将在适当的时间使用该代码向用户仅链接帐户提供。

有人知道一种可靠的方法吗?

对于错误404或不充分的授课。

基于此问题,错误403/当您没有要求申请所需的范围时,返回了不足。

虽然Google文档中insufficientPermissions的描述是为请求提供的OAuth 2.0令牌指定范围不足以访问请求的数据。

因此,请确保您请求所需的所有范围。

对于确定YouTube频道是否链接到帐户的问题。

您可以使用具有属性status.isLinked的通道,该通道将返回一个布尔值,该值将指示通道数据是否标识已经链接到YouTube用户名或Google 帐户的用户。具有这些链接之一的用户已经具有公共YouTube身份,这是多个动作的先决条件,例如上传视频。

有关更多信息,您还可以检查此信息,因此请问它是否可以帮助您。

相关内容

  • 没有找到相关文章

最新更新