【问题标题】:why connect facebook app return confuse URL为什么连接 facebook 应用程序返回混淆 URL
【发布时间】:2010-09-04 12:00:08
【问题描述】:

我有类似 PHP 的 fabrook 连接代码

$facebook = new Facebook(array( 'appId'  => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET, 'cookie' => true));
 $session = $facebook->getSession();

 $loginUrl = $facebook->getLoginUrl(
            array(
            'canvas'    => 1,
            'fbconnect' => 0,
            'req_perms' => 'email,read_stream,publish_stream,offline_access',
   'next' => 'http://apps.facebook.com/appname/')
 );

if (!$session) {
        echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
        exit;
    }

当用户也访问我的应用程序时,它会重定向到 facebook 权限页面。该用户必须点击允许才能接受权限请求。

当用户允许时,我的应用程序返回 sime 混淆 URL,例如

http://apps.facebook.com/appname/?perms=email%2Cread_stream%2Cpublish_stream%2Coffline_access&selected_profiles=1756044141&installed=1&session={%22session_key%22%d221b6f2-1756044141%22%2C%22uid%22%3A%221756044141%22%2C%22expires%22%3A0%2C%22secret%22%5ffd193f40cc1c3acd%22%2C% 22base_domain%22%3A%22muslimsquare.com%22%2C%22access_token%22%3A%22148835711801079|bdf70ed30-1756044141|wvq6bAErEPdDxMZ.%22%2C%22sig%22%3A%22478a31ffc9dcc55daa

而不是

http://apps.facebook.com/appname/

如何将其修复为 facebook 返回干净的 url (http://apps.facebook.com/appname/)

【问题讨论】:

    标签: php facebook


    【解决方案1】:

    这是因为 facebook 默认会在 url 中添加 session、application id 和更多信息。但是,您可以像这样解码 url:

    urldecode($url);
    

    【讨论】:

    • @Giffary: 可以通过$_SERVER['REQUEST_URI']获取当前url
    • @@Sarfraz 当我调用 urldecode($url); ?请给我一个想法。
    • 您只需这样做:$url = urldecode($_SERVER['REQUEST_URI']); echo $url;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多