Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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
Ruby on rails 如何保存访问数据';是为了在谷歌api上进一步使用它吗?_Ruby On Rails_Ruby_Google Api Client_Google Api Ruby Client - Fatal编程技术网

Ruby on rails 如何保存访问数据';是为了在谷歌api上进一步使用它吗?

Ruby on rails 如何保存访问数据';是为了在谷歌api上进一步使用它吗?,ruby-on-rails,ruby,google-api-client,google-api-ruby-client,Ruby On Rails,Ruby,Google Api Client,Google Api Ruby Client,我有一个提供访问另一个数据服务(googledrive)的服务 这是否可能保存用户的访问数据以供进一步使用 用户在我的服务中选择一个googledrive,我将其重新定向到google的身份验证页面。 他接受了这一点,并致力于这一点。通过一些天,他想在谷歌硬盘服务上工作,他应该能够做到这一点而不必接受。 我该怎么做 我希望我能解释我想要什么 提前问候 如果用户在您需要连接到驱动器API时在场/与您的应用程序交互,则无需执行任何特殊操作。每当访问令牌过期(每1h)时,只需在弹出窗口中重新授权(如果

我有一个提供访问另一个数据服务(googledrive)的服务

这是否可能保存用户的访问数据以供进一步使用

用户在我的服务中选择一个googledrive,我将其重新定向到google的身份验证页面。 他接受了这一点,并致力于这一点。通过一些天,他想在谷歌硬盘服务上工作,他应该能够做到这一点而不必接受。 我该怎么做

我希望我能解释我想要什么


提前问候

如果用户在您需要连接到驱动器API时在场/与您的应用程序交互,则无需执行任何特殊操作。每当访问令牌过期(每1h)时,只需在弹出窗口中重新授权(如果在请求中设置immediate=true,则为隐藏iframe),这将生成一个新的访问令牌,而无需重新提示用户。只要用户不撤销对你的应用程序的访问权,这项功能就可以正常工作


如果您需要在无法与用户交互的后台进程或队列中访问驱动器,则在发出初始授权请求时包括access_type=offline。这将在访问令牌之外生成刷新令牌。刷新令牌可用于获取新的访问令牌,而无需用户交互,只要它们没有撤销访问。

感谢Steve的解释!现在我有另一个问题,所以我没有创建新的问题并在那里提问。我怎样才能为这个编写规范(Rspec、水豚e.t.)?如何在google中授权用户,如何从测试代码中获取访问令牌的授权码?请给我解释一下!在那里我可以寻找了解如何写规范是这样的。谢谢……你到底想测试什么?如果您不关心与实时服务器对话,只想存根/模拟网络调用,signet和google API客户端都允许在调用中传递连接(:选项哈希中的连接)。该连接可以是存根,您可以使用它来验证是否进行了正确的调用,并且您可以使用Faraday的存根连接类进行此操作。另一方面,如果您希望集成测试符合实际情况,那么您可能希望在测试设置中保留一些简单的访问/刷新令牌,这样您就不需要重新授权每次测试运行。