我正在尝试访问用户YouTube私人数据,例如需要OAuth身份验证的订阅。到目前为止,我尝试了两种方法。
1.使用GoogleAuthUtil.getToken()
方法。但它已被弃用,并且使用此功能只能获取访问令牌,该令牌在1小时后到期。我不知道如何使用这种方法检索刷新令牌。
2.根据此article和this answer,由于安全性和UX问题,我们应该避免使用getToken方法。所以我尝试使用Auth.GOOGLE_SIGN_IN_API
。根据文档,我们需要使用GoogleSignInOptions
。所以我使用它并使用requestScopes()
我添加了Youtube范围。我还使用requestserverauthcode()
来获取交换代码,使用哪些访问和刷新令牌。现在这是我的问题,我们需要将GoogleApiClient
与addApi()
一起使用。可用的API集没有列出Youtube API以将其放入addApi()
。所以我无法访问访问令牌/刷新令牌。
任何人都可以帮助我吗?
编辑:
我解决了。我使用getToken方法来获取令牌。每当发生401授权错误时,我们需要调用getToken
方法返回一个新令牌。