【问题标题】:Parse string from URL and store in variable?从 URL 解析字符串并存储在变量中?
【发布时间】:2013-09-11 20:41:38
【问题描述】:

我向 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 string parsing url youtube-api


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • 如果我提醒 hashPart,它似乎只返回除了我需要的部分之外的所有内容
    • var query = location.href.split("#") hashPart1 = query[0]; hashPart2 = 查询[1]; “#”之后的部分在数组的第二行。在 hashPart2。 (在查询[1])
    猜你喜欢
    • 2022-01-12
    • 2012-04-30
    • 2011-05-15
    • 1970-01-01
    • 2021-10-08
    • 2014-08-20
    • 2011-07-12
    • 2021-12-12
    • 2013-01-26
    相关资源
    最近更新 更多