0

我向 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=承载&expires_in=3600 '

我一直在阅读 parse_str 和 parse_url,但我不是 php 大师,所以不知道如何正确使用它们。我什至不确定这是否可以完成,但我需要将访问令牌存储在一个变量中,以便我可以再次使用它。

4

1 回答 1

1

哈希值不会发送到服务器,也无法单独使用 PHP 来检索它。

但是您可以使用 JavaScript 来获取 URL 的锚部分:

var query = location.href.split("#")
hashPart = query[1];

锚部分现在存储在hashPart变量中。现在您可以简单地将AJAX 请求发送到服务器上的 PHP 文件。

在 PHP 中,您可以像这样检索它:

$token = $_GET['foo'];
// do stuff ...
于 2013-09-11T20:55:45.473 回答