我正在使用PHP和Google API客户端进行PHP。 当访问者在我的注册页面上时,会有一个查询字符串,其中包含有关他们注册的内容的信息。所以网址就像:https://www.example.com/register/user?signupfor=research
我最近添加了一个通过Google注册的按钮,我想知道是否有办法将相同的查询添加到回调/重定向网址?
答案 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完成任何我想要的。