Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Python 让用户注册谷歌,然后被重定向回该网站?_Python_Google App Engine - Fatal编程技术网

Python 让用户注册谷歌,然后被重定向回该网站?

Python 让用户注册谷歌,然后被重定向回该网站?,python,google-app-engine,Python,Google App Engine,我将GAE与python一起使用,我可以要求用户使用以下方式登录Google: loginURL=(users.create\u login\u url(self.request.path)) 这给了我一个链接,允许用户登录并重定向到我的站点。 但是有些用户没有谷歌ID, 有没有办法让他们注册并重定向到我的网站 我知道没有: signupURL=(users.create\u signup\u url(self.request.path)) 这就是我正在寻找的东西,要求用户注册并在注册完成后快速

我将GAE与python一起使用,我可以要求用户使用以下方式登录Google:

loginURL=(users.create\u login\u url(self.request.path))

这给了我一个链接,允许用户登录并重定向到我的站点。 但是有些用户没有谷歌ID, 有没有办法让他们注册并重定向到我的网站

我知道没有:

signupURL=(users.create\u signup\u url(self.request.path))

这就是我正在寻找的东西,要求用户注册并在注册完成后快速重定向


非常感谢您的帮助。

当您的用户转到登录url时,顶部有一个红色的注册按钮。他们可以去那里报名


我花了一秒钟才找到,不幸的是,您无法更改登录页面。

实际上,可以将用户引导到订阅页面。 这只是有点棘手:

您获得的登录链接如下所示:

https://www.google.com/accounts/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttp://study-wise.appspot.com/login&ltmpl=gm&shdf=ChULEgZhaG5hbWUaCVN0dWR5V2lzZQwSAmFoIhRSjkTO01_PtfPG9VN12NFsbyludCgBMhQrFIvLEm2lqCc65PvVrBca1skQRA
viewVals['subscribe'] = login2Subscribe(users.create_login_url("/login"))
在我的例子中:是应用程序的url。 shdf似乎是谷歌用来跟踪请求的一些关键工具。但我没有找到任何线索

现在,注册链接将是:

https://accounts.google.com/NewAccount?continue=https%3A%2F%2Fappengine.google.com%2F_ah%2Fconflogin%3Fcontinue%3Dhttp%3A%2F%2Fstudy-wise.appspot.com%2Flogin&shdf=ChULEgZhaG5hbWUaCVN0dWR5V2lzZQwSAmFoIhRSjkTO01_PtfPG9VN12NFsbyludCgBMhQrFIvLEm2lqCc65PvVrBca1skQRA&service=ah&ltmpl=gm
网址:

https://www.google.com/accounts/ServiceLogin
被替换为

https://accounts.google.com/NewAccount

已被删除。据我所知,没有做出其他改变

以下是我编写的python函数:

def login2Subscribe(link):
    return link.replace('https://www.google.com/accounts/ServiceLogin', 'https://accounts.google.com/NewAccount').replace('passive=true', '')
您可以这样使用它:

https://www.google.com/accounts/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttp://study-wise.appspot.com/login&ltmpl=gm&shdf=ChULEgZhaG5hbWUaCVN0dWR5V2lzZQwSAmFoIhRSjkTO01_PtfPG9VN12NFsbyludCgBMhQrFIvLEm2lqCc65PvVrBca1skQRA
viewVals['subscribe'] = login2Subscribe(users.create_login_url("/login"))

我没有答案,但最好不要把这个系统局限于谷歌。OpenID可以由许多其他提供商提供……仅供参考:当用户被发送到登录URL时会发生什么?难道他们没有看到一个包含“注册谷歌账户”链接的登录屏幕吗?如果是这样的话,这个过程是否最终会重定向到登录应该重定向到的位置?谷歌可能希望你只使用
create\u login\u url
的结果,让用户决定是否需要注册或使用现有帐户。是的,但是如果我想让他们直接转到注册链接怎么办?