谷歌登录:如何向callback-url添加查询?

时间:2017-03-05 09:14:26

标签: php google-api-php-client

我正在使用PHP和Google API客户端进行PHP。 当访问者在我的注册页面上时,会有一个查询字符串,其中包含有关他们注册的内容的信息。所以网址就像:https://www.example.com/register/user?signupfor=research

我最近添加了一个通过Google注册的按钮,我想知道是否有办法将相同的查询添加到回调/重定向网址?

1 个答案:

答案 0 :(得分:1)

在尝试了一些不同的东西后,我找到了一种方法。

Google API客户端有一个函数setState(),可用于设置唯一字符串中的任何数据。当重定向回您的网站时,Google会将此状态添加到网址中。 https://developers.google.com/identity/protocols/OAuth2WebServer#formingtheurl

因此,您可以只编码要在json对象中传递的参数数组,使用setState($ params),然后在回调页面上获取状态并再次解码json-object。

在重定向到Google之前:

 $client = new Google_Client();
 ...
 $params = array(
  'signupfor' => 'research',
  ...
 );

 $client->setState(json_encode($params));

在我的回调页面上:

$params = json_decode($_GET['state']);

然后我可以用我的params-array完成任何我想要的。