我向youtube api发送查询以获取访问令牌,以允许我的应用程序的用户上传视频,编辑元数据和删除视频。我可以发送请求并让用户授予 youtube api 访问权限。我遇到的一个问题,并且无法找到解决方法,是在进行重定向后将访问令牌附加到 URL。因此,例如,授予youtube访问权限后,我的浏览器中的URL是
"http://www.mysite.com/path/to/web/application/#access_token=a-very-long-string-that-is-the-access-token-this-is-what-i-need&token_type=Bearer&expires_in=3600"
我一直在阅读parse_str和parse_url,但我不是 php 大师,所以不知道如何正确使用它们。我什至不确定是否可以做到这一点,但我需要将访问令牌存储在变量中,以便我可以再次使用它。
值不会发送到服务器,并且无法单独使用 PHP 来检索它。
但是你可以使用 JavaScript 来获取 URL 的锚部分:
var query = location.href.split("#")
hashPart = query[1];
锚点部分现在存储在变量hashPart
。现在,您只需将 AJAX 请求发送到服务器上的 PHP 文件即可。
在 PHP 中,您可以像这样检索它:
$token = $_GET['foo'];
// do stuff ...