2011-06-01 67 views
0

我很困惑這個facebook api。Facebook和PHP - 如何發佈我的網站內容到我的臉書牆?

我有facebook用戶名和密碼在我的數據庫中,我想簽署和從我的網站發佈內容到我的臉書牆。我該怎麼做?

我已經下載了Facebook的PHP-SDK,只需要能夠有「後」的一部分在我的PHP文件,以使事情發生,我此刻

require_once ('facebook.php'); 
       $app_id = "MY_ID"; 
       $app_secret = "MY_SECRET"; 
       $facebook = new Facebook(array('appId' => $app_id, 'secret' => $app_secret, 'cookie' => true)); 

       if(is_null($facebook->getUser())) { 

        header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos'))}"); 
        exit; 
       } 

       $status = $facebook->api('/me/feed', 'POST', array('message' => utf8_encode($my_message))); 
已經驗證碼

有了這個,我只是得到一個內部服務器錯誤,沒有更多的有我在做什麼錯誤的想法...

即使後續代碼var_dump($狀態),我什麼也沒得到 感謝

+0

檢查你的PHP錯誤日誌。您可能會收到錯誤消息。 – 2011-06-01 14:35:07

+0

如果這是一個複製並粘貼而不編輯您的需要,那些變量($ my_message)將不包含任何內容。希望你已經用你的「密碼」替換MY_ID「你的ID」和My_SECRET,由facebook生成「密鑰」? – robx 2011-06-01 14:35:21

+0

我確實改變了我的ID和我的祕密:-) – Pluda 2011-06-01 14:54:15

回答

1

您無法登錄作爲Facebook Graph API的用戶。你永遠不應該首先要求任何用戶的Facebook密碼,這就是爲什麼Facebook不允許這樣做。

該API允許您以「應用程序」身份登錄,該應用程序可以被Facebook用戶授予權限。您需要在https://www.facebook.com/developers/apps.php創建一個Facebook應用程序。

一旦做到這一點,你可以提示用戶張貼在牆上,或使用http://developers.facebook.com/docs/reference/dialogs/feed/

+0

「你可以提示用戶張貼在牆上」你好,在我的應用程序的牆上?不,我想發佈在用戶牆上,基於電子郵件/密碼,這是一種博客,如果用戶也想發佈到Facebook,他會檢查一個複選框,其餘的php會完成,那是我的意圖 – Pluda 2011-06-01 15:07:26

+0

是的,它張貼到用戶牆上。請閱讀我發送的第二個鏈接的第一行。另外,如果您向下滾動該鏈接,則會發現如何使用Graph API執行此操作。 – Connell 2011-06-01 15:10:39

+0

不完全是我想要的...我不是要求密碼,用戶輸入密碼,我只有我的數據庫上:-) – Pluda 2011-06-01 15:30:12

0

首先使用圖形API嘗試(我希望您在輸入$ APP_ID和$ app_secret):

require_once ('facebook.php'); 
$app_id = "MY_ID"; 
$app_secret = "MY_SECRET"; 
$facebook = new Facebook(array('appId' => $app_id, 'secret' => $app_secret, 'cookie' => true)); 
$user = $facebook->getUser(); 

var_export($user); 

如果您登錄正確,您應該選擇數據。

比你應該看看這個頁面的例子Facebook Graph API PHP SDK posting on page as page

+0

好吧,現在我得到0結果,沒有更多。也許一個愚蠢的問題,我有app_id和secret_key,這些來自我要在Facebook中創建的應用程序。現在,我想發佈到我的牆上,那麼,我在哪裏放置了我的用戶名([email protected])和密碼?我的意思是,如果我有3個Facebook帳戶,我只需要更改這些電子郵件密碼值,而不是app_id和密碼。我非常困惑 – Pluda 2011-06-01 14:57:37

+0

您可以通過在https://graph.facebook.com/oauth/access_token上的Graph API令牌端點獲取應用程序訪問令牌,方法是在grant_type參數中指定您的應用程序ID,應用程序密鑰和client_credentials。應用程序ID和應用程序密碼都是在您的應用程序在開發人員應用程序中創建時生成的。閱讀更多信息:http://developers.facebook.com/docs/authentication/ – 2011-06-01 15:57:43

相關問題