1

好的,對我來說可能有很多問題。但我無法解決如何處理我的情況。 讓我們開始吧:Facebook API:如何發佈到我自己的牆上頁面?

我開發一個房地產列表網站。該流程圖很簡單。用戶可以發佈儘可能多的他們想要使用Facebook登錄。

現在他們都沒事。我也可以解決用戶何時完成發佈的過程,它會自動發佈到他們的個人/用戶牆頁面。

但我希望每個列表都應該在我的房產列表頁面上發佈。無論是作爲發佈用戶還是頁面名稱發佈,都沒有問題。但我需要確保它不使用我的個人/用戶/管理頁面。

所以我找不到任何答案如何解決這個問題。在單個網站會話中,我的腳本如何發佈到發佈帖子的用戶牆,併發布到我的頁面。如果它禁止用戶是外國人而不是管理員發佈到我的頁面,那麼當創建的Facebook API屬於用戶時,如何在頁面本身的名稱下張貼到我的頁面。我是否需要創建不同的Facebook API對象?需要幫助..感謝任何能夠幫助我的人。非常感謝。

下面是代碼我使用:

$attachment = array(
       'message' => FB_STREAM_MSG, 
       'picture' => $imgsrc, 
       'link' => $seourl, 
       'name' => $prop_name, 
       'caption' => FB_STREAM_CAP, 
       'description' => substr($prop_desc,0,150) . '..', 
      ); 
      $facebook->api("/$user/feed", 'POST', $attachment); 
      //$facebook->api("/".FB_PAGE_ID, 'POST', $attachment); //this doesn't work. 
+0

要發佈到頁面_as_頁面,您需要一個頁面訪問令牌。 https://developers.facebook.com/docs/facebook-login/access-tokens/ – CBroe

+0

據我所知,授予訪問頁面的頁面訪問令牌由進行登錄的用戶擁有。它也可以訪問我的頁面牆嗎?我打算在我的頁面發佈帖子,但在網絡上創建的會話/ fb api屬於用戶。登錄的用戶是可能不是我的外國人,也不具有對該頁面的訪問權限/管理員權限。 –

+0

我曾嘗試添加新的權限「manage_pages」。但它似乎授予應用程序來管理登錄的用戶所擁有的頁面,它沒有說明授予我訪問頁面的權限。上面的代碼仍然沒有工作。 –

回答

1

好吧......所有的問題解決了!

張貼到其他用戶的牆壁,用戶需要登錄爲一般用戶生成令牌和這樣的代碼:

$attachment = array(
'message' => ClearText_FB($prop_name), 
'picture' => $imgsrc, 
'link' => $seourl, 
'name' => ClearText_FB($prop_name), 
'caption' => FB_STREAM_CAP, 
'description' => ClearText_FB(substr($prop_desc,0,150) . '..'), 
); 
$facebook->api("/$user/feed", 'POST', $attachment); 

以及張貼到自己的頁面上牆,不要緊誰是用戶,無論用戶是否是該頁面的管理員。但重要的是讓頁面訪問令牌授予應用程序發佈到頁面牆。 fb文檔說,頁面訪問令牌將永遠持續,所以我們只需要獲取一次並保存下一次使用。

要獲得頁面的訪問令牌的第一次:

$page_access_token = ""; 
      $result = $facebook->api("/me/accounts"); 
      foreach($result["data"] as $page) { 
       if($page["id"] == $page_id) { 
        //$page_access_token = $page["access_token"]; 
        $page_access_token = $facebook->api("/".FB_PAGE_ID."?fields=access_token"); 
        break; 
       } 
      } 

然後保存$ page_access_token值到服務器/數據庫或文件。上面的代碼不需要了。評論或刪除它。刪除'name'字段,因爲它看起來會將帖子置於其他用戶帖子部分下。這將作爲頁面發佈到頁面牆上而不是用戶:

$attachment = array(
'message' => ClearText_FB($prop_name), 
'picture' => $imgsrc, 
'link' => $seourl, 
'description' => ClearText_FB(substr($prop_desc,0,150) . '..'), 
'access_token' => $page_access_token, 
); 
$facebook->api("/".FB_PAGE_ID.'/feed', 'POST', $attachment); 
相關問題