Android 如何查看谷歌账户持有人是否有Youtube频道(链接)?
根据谷歌文档,任何谷歌账户持有人也是Youtube账户持有人,但他可能没有“链接”,即拥有Youtube频道。应用程序只能将视频上载到链接的帐户 如果您使用AccountManager获取Google帐户持有人的列表,此时,您无法判断他们中是否有人被链接。我需要一种方法来确定它是否链接 似乎没有对Youtube api的直接专门构建调用来查看帐户是否有频道(链接) 也许可以重新设计以下代码片段来执行此操作:Android 如何查看谷歌账户持有人是否有Youtube频道(链接)?,android,youtube-api,google-account,Android,Youtube Api,Google Account,根据谷歌文档,任何谷歌账户持有人也是Youtube账户持有人,但他可能没有“链接”,即拥有Youtube频道。应用程序只能将视频上载到链接的帐户 如果您使用AccountManager获取Google帐户持有人的列表,此时,您无法判断他们中是否有人被链接。我需要一种方法来确定它是否链接 似乎没有对Youtube api的直接专门构建调用来查看帐户是否有频道(链接) 也许可以重新设计以下代码片段来执行此操作: List<String> scopes = new ArrayList&
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();
List scopes=new ArrayList();
作用域。添加(sendtogleutils。“https://www.googleapis.com/auth/youtube.upload" );
如果((googleAccountCredential=SendToLogLeutils.getGoogleAccountCredential(
mContext,accountYoutube.name,scopes))==null)返回;
字符串gAToken=googleAccountCredential.getToken();
youtube=new youtube.Builder(HTTP_传输、JSON_工厂、googleAccountCredential)
.setApplicationName(getString(R.string.tourmaker\u app\u name))
.build();
YouTube.Channels.List channelRequest=YouTube.Channels().List(“contentDetails”);
channelRequest.setMine(true);
channelRequest.setFields(“items/contentDetails,nextPageToken,pageInfo”);
ChannelListResponse channelResult=channelRequest.execute();
如果已链接accountYoutube(请参见代码行4),则此代码运行正常,并继续执行稍后上载的代码
如果accountYoutube未链接,execute语句将抛出GoogleJsonResponseException:
com.google.api.client.googleapis.json.googlejson响应异常:403禁止
{
“代码”:403,
“错误”:[{
“域”:“全局”,
“消息”:“权限不足”,
“原因”:“权限不足”
} ],
“消息”:“权限不足”
}
因此,这段代码会告诉您accountYoutube是否链接。这类代码是确定accountYoutube是否有频道(链接)的合理方法吗
我很怀疑,因为这个例外似乎是我无法依赖的副作用
我正在寻找一种最佳实践方法来确定accounYoutube是否链接。我会在适当的时候使用该代码向仅用户链接的帐户显示
有人知道可靠的方法吗?关于404错误或权限不足。
基于此,当您尚未请求应用程序所需的作用域时,将返回错误403/InsufficientPermissions
虽然Google文档中对的描述是,为请求提供的OAuth 2.0令牌指定的范围不足以访问请求的数据
因此,请确保您请求了所需的所有作用域
关于确定YouTube频道是否链接到帐户的问题。
您可以使用具有返回布尔值的属性的频道,该布尔值将指示频道数据是否标识已链接到YouTube用户名或Google+帐户的用户。拥有其中一个链接的用户已经拥有公共YouTube身份,这是上传视频等多项操作的先决条件
有关更多信息,如果可以帮助您,您也可以检查此项。有关错误404或权限不足的信息。
基于此,当您尚未请求应用程序所需的作用域时,将返回错误403/InsufficientPermissions
虽然Google文档中对的描述是,为请求提供的OAuth 2.0令牌指定的范围不足以访问请求的数据
因此,请确保您请求了所需的所有作用域
关于确定YouTube频道是否链接到帐户的问题。
您可以使用具有返回布尔值的属性的频道,该布尔值将指示频道数据是否标识已链接到YouTube用户名或Google+帐户的用户。拥有其中一个链接的用户已经拥有公共YouTube身份,这是上传视频等多项操作的先决条件
有关更多信息,如果可以帮助您,您也可以检查此项