从URL解析字符串并存储在变量中?

时间:2013-09-11 20:41:39

标签: php string parsing url youtube-api

我向youtube api发送查询以获取访问令牌,以允许我的应用用户上传视频,编辑元数据并删除视频。我能够发送请求并让用户授予youtube api访问权限。我正在运行的一个问题是,在重定向完成后,访问令牌会附加到URL上,并且无法找到解决方法。例如,授予YouTube访问权限后,我的浏览器中的网址为

'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 master,所以不知道如何正确使用它们。我甚至不确定这可以做到,但我需要将访问令牌存储在变量中,以便我可以再次使用它。

1 个答案:

答案 0 :(得分:1)

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

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

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

锚点部分现在存储在hashPart变量中。现在,您只需将AJAX request发送到服务器上的PHP文件即可。

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

$token = $_GET['foo'];
// do stuff ...