通过Node.js服务器代表用户发布到YouTube

时间:2016-02-13 15:04:48

标签: node.js youtube-api

我有一个iOS应用,我已经使用Google SDK登录用户。此时我有一个访问令牌。用户可以拍摄视频并将其发布到YouTube。我想在我的Node.js express服务器上调用API,并使用YouTube API将该API(使用令牌)发布到视频中。我看到有几种可能的选择,但我真的不知道哪种情况适合我的情况。

是否可以执行此操作,还是必须从服务器端显示Google授权页面?如你所见,可能对整个事情感到困惑。

1 个答案:

答案 0 :(得分:0)

我构建了一个与支持Google登录的Parse集成的iOS应用程序。我们在客户端(iOS端)对用户进行了身份验证,并在客户端和服务器上存储了auth和刷新令牌。一旦为用户提供了身份验证令牌,服务器就可以代表该用户提出请求。您只需要确保在令牌过期时刷新令牌,并保持客户端和服务器上的令牌彼此同步。

我们使用旧版Google登录SDK for iOS,因此在nil authorizeRequest:completionHandler:上调用GTMOAuth2Authentication.h请求会在客户端自动刷新令牌。使用新的SDK,它应该是类似的,或者您可以始终使用刷新令牌在服务器端发出手动Web请求以获取新的身份验证令牌。

您可以看到有关此实施的相关讨论here

流程可能如下所示:

  1. 让您的用户使用Google登录您的应用程序。在登录回调中,您应该获得访问令牌,刷新令牌和令牌到期日期。将这些值保存到后端的用户模型中。

  2. 如果用户需要从您的应用程序向任何Google API发出请求,请通过Google的帮助程序方法进行操作。您还可以设置标准NSURLSession请求,并将bearer令牌值设置为身份验证令牌。如果您需要从后端代表用户发出API请求,请以相同的方式发出异步请求,将用户的身份验证令牌添加到bearer标头字段。

  3. 如果您需要刷新客户端上的令牌,SDK中的signInSilenty方法应该为您执行此操作。如果需要在服务器端刷新令牌,请按照“使用刷新令牌”下的Using OAuth 2.0 for Web Server Applications中列出的步骤进行操作。刷新令牌后,将新值保存到用户模型中。

相关问题