我正在为社交网络编写谷歌联系人导入代码,这种导入发生在用户页面上,其中网址将因用户而异。 profile / user1,profile / user2
然而,谷歌我似乎只能设置一个重定向网址,似乎无法找到谷歌允许通配符匹配域而不是特定网址的任何提及。
有没有办法做到这一点,还是我必须将它设置为一个网址?
提前致谢。
答案 0 :(得分:11)
我有PHP代码来实现它。说它无法完成是错误的。我将此技术用于Google Analytics,Adwords,Google +和YouTube。它适用于所有提到的服务。
Trick是使用“state”参数作为动态URL。我希望它能帮到每个人。
// Auth URL
// $campaign_id will be different for everyone
$dynamic_redirect = 'http://' . $_SERVER['HTTP_HOST'] . "/analytics/$campaign_id";
$client_id = 'XXXXXXXX';
$redirect_uri = 'API_REDIRECT_URI'; // Fixed URL, it will not be changed
$auth_url = "https://accounts.google.com/AccountChooser?service=lso&continue=";
$auth_url .= urlencode("https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/analytics.readonly&access_type=offline&redirect_uri=$redirect_uri&approval_prompt=force&state=$dynamic_redirect&client_id=$client_id");
/*************************************/
API_REDIRECT_URI PAGE
/*************************************/
$redirect_url = $_GET['state'];
答案 1 :(得分:6)
我发现这是不可能的,所以如果有人在寻找这个,那就没办法了。我最终解决了我的问题,只是让谷歌重定向到一个固定的网址,所以不是一个动态的。
答案 2 :(得分:1)
你可以做一件简单的事情。在创建Auth URL时将“用户页面URL”置于会话中。在您的回拨页面上,从会话中获取“用户页面网址”,并将用户简单地重定向到该页面。
我能够成功使用PHP。
答案 3 :(得分:0)
正如我所知,有可能这样做的应用程序。我发现这篇文章是关于如何做到的 - 还没有尝试过,但它值得一试: http://www.ioncannon.net/programming/1443/google-oauth-for-installed-apps-php-example/
答案 4 :(得分:0)
我们可以在Google API设置中指定多个重定向URI,每行一个
Google API控制台 - >选择您的API - > API访问 - >编辑设置 - >在“授权重定向URI”下
输入..