簡體   English   中英

Facebook PHP API /應用程序:iFrame

[英]Facebook PHP API/App: iFrame

我有一個簡單的應用程序,該應用程序曾經在舊的API中工作。 這是一個iFrame應用,無論嘗試如何,都無法使用新API進行用戶會話。 這是我現在擁有的代碼:

<?php
error_reporting(E_ALL);

require 'facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'xxxx',
  'secret' => 'xxxx',
  'cookie' => true,
));

$session = $facebook->getSession();
if ( !$session )
{
 //echo "Failed. No session.<br />";

    $url = $facebook->getLoginUrl(array(
               'canvas' => 1,
               'fbconnect' => 0,
               'next'=>'http://www.facebook.com',
               'cancel_url' => 'http://www.facebook.com'
           ));

    //echo "<script type='text/javascript'>top.location.href = '$url';</script>";
    echo "<a href='".$url."' target='_blank'>First time using this App? Click here to connect it to your Facebook.</a>";

}
else {

    try {

        $uid = $facebook->getUser();
        $me = $facebook->api('/me');

        $updated = date("l, F j, Y", strtotime($me['updated_time']));

        echo "Hello " . $me['name'] . "<br />";
        echo "You last updated your profile on " . $updated;

    } catch (FacebookApiException $e) {

        echo "Error:" . print_r($e, true);

    }
}

不管我嘗試什么,都不會返回$ session(單擊鏈接后)。 我使用的是正確的appID / secret / facebook.php,但如果進入路徑,它始終屬於!$ session。 我究竟做錯了什么?

$facebook->getLogoutUrl();

這可能有幫助

https://github.com/facebook/php-sdk/tree/v3.1.1

我幾天前下載的PHP API版本沒有$ facebook-> getSession()

因此,根據您使用的版本(假設舊版本具有getSession,我不知道我剛剛開始使用API​​),它可能不再具有getSession。

api附帶的示例顯示的是使用-> getUser嘗試獲取用戶對象並檢查該對象是否有效,然后嘗試通過信息獲取用戶配置文件以驗證連接是否有效。

希望能有所幫助。

傑森·佩尼克(Jason Penick)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM