谷歌API - 如何URL重定向到我的本地(Google API - How to redirec

2019-07-17 14:38发布

我正在使用谷歌的OAuth我PhoneGap的应用程序集成谷歌登录。 什么情况是,在创建我的应用程序客户端ID,我因为我使用PhoneGap的创建我的应用程序,选择“安装的应用程序”,然后应用程序类型为“其他”。

这给了我两个重定向的URI,如“ urn:ietf:wg:oauth:2.0:oob ”和“ http://localhost ”。 我不是那些选择了用“ urn:ietf:wg:oauth:2.0:oob ”,因为它需要用户将代码复制,并把它返回到应用程序。 我有另一种选择是重定向到本地主机。

这里的问题是,我怎么重定向的URL,当我在iPad上到本地主机? 我曾尝试使用不同的重定向的URI,但谷歌并没有让我用他们。 它坚持只使用重定向到本地主机(或增加一些端口号),我没有别的去了。

没有人对此有什么解决方法吗? 是否有任何方法来完成这个任务? 我卡住了。 请帮忙。

Answer 1:

您可以使用重写规则了。

例如,我需要这个回调谷歌: http://local.dev/users/login-google

所以,我已在谷歌控制台此网址: http://localhost/JUMP/local.dev/users/login-google

而在Apache中,一个简单的重定向:

RewriteEngine  on
RewriteRule    ^JUMP/(.+)$   http://$1 [R,L]


Answer 2:

最近我有同样的问题。 我还需要弄明白了Twitter的API( 答案在这里找到 )。

对于谷歌,我发现2种方法来解决该问题。

  1. 谷歌将接受本地主机回调URL。 例如,如果你是一个XAMPP服务器上,而您的重定向下保存的C:\xampp\htdocs\nozzle\callbacks\google.php那么你重定向到请求给(和在谷歌API控制台 )将是: http://localhost/nozzle/callbacks/google.php问题的探析解决。
  2. 如果你在一个vhosted网站开发 :重定向到一个活的网站(或在本地主机的文件夹结构的地方)与谷歌API来进行沟通,序列化数据并将其发送给您的网址您的本地虚拟主机上。

选项2需要更多的一些解释。 这里的故障:

  • 我在虚拟主机上本地开发。 我对我的应用程序数据不在本地主机文件夹( http://myapp.dev )。 所以,我需要另一种解决办法,让我仍然在当地发展上的虚拟主机,而且还发出请求谷歌API。
  • 该设置:第一个呼叫从制造http://myapp.dev/但对重定向,我用我的直播服务器地址。 当从用户授权,谷歌重定向回我的直播网站,在这里我向API,再调用。 此信息回来(再次到我的生活的网站),然后我序列化信息,并重定向到http://myapp.dev/callback通过添加作为请求?数据=,并把序列化的数据在该通话结束。 然后,它被发送到我的虚拟主机的网站,我retreive用$ _REQUEST [“数据”]数据,反序列化它,我好去。
  • 这似乎是一个大量的工作,但对我和我的团队是值得继续在本地工作,直到我们准备去住。

另外,我想你可以通过一个本地主机地址,而不是一个人住一间做同样的过程,但我没有测试过这一点。 但是,如果你有一个活的网站做到这一点,你的整个团队将能够从他们的本地虚拟主机相同的请求,只要它们是在还vhosted http://myapp.dev

脚注:我使用的socialmedia-oauth-login tool来访问谷歌API。



文章来源: Google API - How to redirect URL to my localhost