Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Node.js服务器代表用户发布到YouTube_Node.js_Youtube Api - Fatal编程技术网

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

通过Node.js服务器代表用户发布到YouTube,node.js,youtube-api,Node.js,Youtube Api,我有一个iOS应用程序,我使用谷歌SDK登录用户。在这一点上,我有一个访问令牌。用户可以拍摄视频并将其发布到YouTube。我想在Node.js express服务器上调用一个API,并让该API(使用令牌)使用YouTube API发布视频。我看到有几个潜在的选择,但我真的不知道哪一个适合我的情况 是否可以这样做,或者您必须从服务器端显示Google授权页面?正如你所看到的,可能对整件事感到困惑 我构建了一个iOS应用程序,它与支持Google登录的Parse集成在一起。我们在客户端(iOS端

我有一个iOS应用程序,我使用谷歌SDK登录用户。在这一点上,我有一个访问令牌。用户可以拍摄视频并将其发布到YouTube。我想在Node.js express服务器上调用一个API,并让该API(使用令牌)使用YouTube API发布视频。我看到有几个潜在的选择,但我真的不知道哪一个适合我的情况


是否可以这样做,或者您必须从服务器端显示Google授权页面?正如你所看到的,可能对整件事感到困惑

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

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

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

该流可能如下所示:

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

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

  • 如果您需要刷新客户端上的令牌,SDK中的方法应该为您完成这项工作。如果需要在服务器端刷新令牌,请按照“使用刷新令牌”中概述的过程进行操作。刷新令牌后,将新值保存到用户模型中


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

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

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

    该流可能如下所示:

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

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

  • 如果您需要刷新客户端上的令牌,SDK中的方法应该为您完成这项工作。如果需要在服务器端刷新令牌,请按照“使用刷新令牌”中概述的过程进行操作。刷新令牌后,将新值保存到用户模型中


  • 我想你不必使用解析来做这件事,对吗?您是否有可以共享的完整代码?@uomolupo否,不需要解析,这只是我使用的后端的一个示例。我不认为示例代码在这里会有帮助,但我已经编辑了我的答案,概述了用户流可能如何进一步深入。我假设您不必使用解析来完成这项工作,对吗?您是否有可以共享的完整代码?@uomolupo否,不需要解析,这只是我使用的后端的一个示例。我不认为示例代码在这里会有帮助,但我已经编辑了我的答案,概述了用户流可能如何进一步深入。