Facebook graph api 使用cakephp重定向facebook图形api

Facebook graph api 使用cakephp重定向facebook图形api,facebook-graph-api,cakephp-2.1,Facebook Graph Api,Cakephp 2.1,我需要分享一个网页从我的php网站到用户的facebook墙。如果用户未登录facebook,我的网站将使用 $user = $facebook->getUser(); if($user) { $result = $facebook->api( '/me/feed/', 'POST', array('access_token' => $this->access_toke

我需要分享一个网页从我的php网站到用户的facebook墙。如果用户未登录facebook,我的网站将使用

    $user = $facebook->getUser();
    if($user) {
        $result = $facebook->api(
            '/me/feed/',
            'POST',
            array('access_token' => $this->access_token, 'link'=>'google.com', 'message' => 'Test link')
        );
        $this->Session->setFlash('Your link has been succesfully posted on your wall');
        $this->redirect($this->referer());
    }else {
       $login_url_params = array(
          'req_perms' => 'publish_stream',
          'redirect_uri' => 'localhost/pictrail' //thts the same path I gave to my facebook app
       );
       $login_url = $facebook->getLoginUrl($login_url_params);
       header("Location: {$login_url}");
       exit();
    }

因此,当用户未登录facebook时。。它重定向到facebook供用户登录,之后它重定向到localhost/pictrail,而不管我在那里输入了什么url。我想把它重定向到localhost/pictrail/images/param。。。我怎样才能做到这一点?我尝试了“localhost/pictrail/images/99”,但没有成功。当用户登录facebook时,一切正常。

您无法从facebook重定向到localhost,因为它不是有效地址

为了开发,我绕过这个问题的方法是编辑我的主机文件并用本地ip替换域

www.example.com 127.0.0.1

然后你可以从Facebook应用重定向到www.example.com,它将呈现你的本地开发版本

请确保将此域添加到本地服务器的vhost或类似文件中

对不起,我误解了你的问题。要更改Facebook重定向url,您需要在Facebook应用程序中更改它。因此,你必须将一个自定义字段传递到Facebook,然后将其重新绑定

仔细看一看,

“你不能从Facebook重定向到localhost,因为它不是一个有效的地址。”–不正确,你可以–重定向发生在你的浏览器中,他知道localhost是谁。