我目前正在使用基于代码here的YouTube API v3 for Android将视频上传到YouTube:
我想在延迟后执行上传,此时用户可能不再在应用中。我遇到的问题是,如果用户尚未授予我的应用上传到YouTube的权限,则会在上传时引发UserRecoverableAuthIOException
。然后文档建议我应该这样做:
startActivityForResult(uraioe.getIntent(), ACTION_REQUEST_AUTHORIZATION);
显示弹出窗口。此时,如果用户已离开应用程序,如果他们看到弹出窗口,则看到弹出窗口是一种糟糕的体验。在上传文件之前,我是否可以预先授权我的应用具有上传权限?
答案 0 :(得分:0)
听起来好像要使用access and refresh tokens。当您的用户使用该应用时,他们可以对其帐户进行身份验证,并允许您代表他们发出请求,从而创建访问令牌和刷新令牌。然后,如果它们脱机,您只需要检查访问令牌是否已过期(通常在创建后一小时),如果有,请使用刷新令牌,您可以为它们发出授权请求。
请注意,令牌expire如果:
- 用户已撤消访问权限。
- 该令牌已使用六个月。
- 用户帐户已超过一定数量的令牌请求。