2012-11-28 33 views
0

問題:我可以從本地主機運行我的Facebook應用程序嗎?我可以從本地主機運行我的Facebook應用程序

描述:我想在我的網站頁面上獲得Facebook牆貼。爲了測試,我創建了一個Facebook應用程序,並將網站網址設置爲「http:localhost:8088/fb /」nd應用程序域名爲「localhost」。現在,我想獲取用戶ID,以便我可以訪問Facebook的牆上posts.But所得到的是用戶ID等於零。我已經檢查了很多次。但一切似乎都是正確的。所以我想知道,我們可以使用本地主機作爲網站的網址?我可以通過從本地主機運行我的代碼來獲取用戶ID。以下是我的代碼。

<?php 
include_once "facebook.php"; 



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

$uid = $facebook->getUser(); 
echo $uid; 
$me = null; 
if ($uid) { 
    try { 

    $me = $facebook->api('/me'); 
    $feed = $facebook->api('/me/feed/'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    } 
} 

$params = array(
    'scope' => 'read_stream', 
    'redirect_uri' => 'http://localhost:8088/fb/feeds.php' 
); 
if ($uid) { 

    $logoutUrl = $facebook->getLogoutUrl(); 
} 
else { 
    $loginUrl = $facebook->getLoginUrl($params); 
} 

?> 
<!doctype html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <head> 
    <title>php-sdk</title> 
    </head> 
    <body> 
    <?php if($uid) 

    { 
    ?> 
    <a href="<?php echo $logoutUrl; ?>">Logout</a> 
    <?php 
    } 
else 
{ 
?> 
<a href="<?php echo $loginUrl; ?>">Login</a> 
<?php 
} 
    ?> 

    <?php if ($me): ?> 
    <?php 
    echo "<pre>"; 
    print_r($feed); 
    echo "</pre>"; 
    ?> 
    <?php endif ?> 
</body> 
</html> 

請告訴我這裏有什麼問題。有什麼設置,我需要執行。我會非常感激。

+0

請不要在您的帖子中發佈您的應用程序ID和應用程序的祕密。如果有人將其用於惡意目的,可能會導致您的麻煩 –

+0

此外,如果您可以拒絕發佈[多個],我將不勝感激(http://facebook.stackoverflow.com/questions/13599758/getuser-method-of-facebook-php -sdk-always-returns-0)次。 –

回答

1

是的,你可以從本地主機環境運行你的應用程序。你所做的一切,只是你並不需要在應用程序域添加本地主機和正確的網站網址應該是http

:本地主機//:代替8088/FB/

「 http:localhost:8088/fb /「

+0

謝謝你的幫助。但即使我已經使用「http:// localhost:8088/fb /」作爲網站的網址。這只是一個打字錯誤。我也刪除了應用程序域中的本地主機。但仍然沒有成功......我一個星期以來一直在努力嘗試。但還沒有找到任何解決方案。不知道問題在哪裏。 –

+0

你是否正確地登錄了登錄部分?我的意思是你是否可以用你生成的鏈接登錄? –

+0

是的。我能夠登錄,但當我重定向到我的網址,我沒有得到用戶ID ..即使在應用程序的授權後,用戶ID是零。 –

0

你可以大部分。 只是iframes的Facebook應用程序不需要連接到你的主機 - 只有你/你的瀏覽器。

有兩點需要注意:

  1. 請確保您有SSL(HTTPS://)在您的本地主機。如果沒有,請在您的測試Facebook帳戶設置中禁用SSL。

  2. Facebook需要訪問您的主機的一種情況包括共享您的應用中託管的URL或圖像。測試本地應用程序時使用外部佔位符。

1

一種更好的方式來測試Facebook的API localhost上是先創建像yourapp.local Web應用程序的虛擬主機,然後相應地設置您的Facebook應用程序的信息的URL。您可以爲本地和遠程站點創建單獨的Facebook應用程序。

0

我相信你不能這樣做,如果你有你的應用程序中的Facebook聚合(對象+操作)。因爲他們需要直接通過Facebook訪問

+0

我沒有facebook聚合。我已經創建了Facebook應用程序。 –

+0

然後我想你很好去:) –

相關問題