2011-05-02 84 views
1

我期待通過粉絲頁面與Facebook更深入地整合我的當前網站(注意:我確實注意到Facebook支持的Open Graph協議,但我希望創建一個全網站粉絲頁)。
我知道你可以使用Facebook創建和管理粉絲頁面,但我正在尋找一種方法來使用PHP腳本來做到這一點 - 例如,發佈到粉絲頁面牆上,使用粉絲頁面創建事件並理想地 - 即時創建輔助粉絲頁面。
環顧Facebook的開發人員部分後,我沒有找到一種方法從外部使用Facebook API執行這些任務。
所以我的問題是:你會怎麼做到這一點?使用PHP管理Facebook頁面

謝謝!

回答

6

將帖子發佈到您的頁面並創建事件都是相對簡單的任務。你可以使用Graph API來做到這一點。

詳細瞭解Publishing的區域。它爲您提供了發佈工作的一般概述,並且可以在整個圖表中應用。

此外,關於圖形API的Events部分的文檔具有一個例子捲曲張貼如何經由圖形API創建新的事件。

將任何內容發佈到您的Facebook頁面將要求您擁有manage_pagesextended permission,同時獲得offline_access權限也許是個好主意。

都張貼到你的頁面牆,創建一個事件(在PHP)的例子看起來很多這樣的:

<?php 

require 'facebook.php'; 

$fb = new Facebook(array(
    'appId' => FB_APP_ID, 
    'secret' => FB_APP_SECRET, 
    'cookie' => true 
)); 

$your_page_id = '123123123'; 

//get the access token to post to your page via the graph api 
$accounts = $fb->api("/me/accounts"); 
foreach ($accounts['data'] as $account) 
{ 
    if ($account['id'] == $your_page_id) 
    { 
     //found the access token, now we can break out of the loop 
     $page_access_token = $account['access_token']; 
     break; 
    } 
} 

try 
{ 
    //publish a story to the page's wall (as the page) 
    $post_id = $fb->api("/{$your_page_id}/feed", "POST", array(
     'message' => "Hello to all my fans, I love you!" 
     'access_token' => $page_access_token; 
    )); 

    echo "Post published. ID: {$post_id}<br>"; 

    //create a new event. 
    $event_id = $fb->api("/{$your_page_id}/events", "POST", array(
     "name" => "My Totally Awesome Event, You Better Show UP!", 
     "start_time" => time(), //it starts now...duh! 
     "location" => "Anywhere, USA" 
    )); 

    echo echo "Event created. ID: {$event_id}<br>"; 
} 
catch (Exception $e) 
{ 
    var_dump($e); 
} 

至於動態創建網頁,唯一的辦法,你可以做到這一點是通過使用Open Graph Protocol。這裏唯一的限制是頁面必須具有唯一的URLS。因此,您可以爲每個Open Graph對象分配一個唯一的ID,併爲其指定一個URL,如http://www.mysite.com/pages?id=123456。這將讓您輸出在FB上生成頁面所需的Open Graph標籤。然後,您可以使用Graph API在有人喜歡它之後獲取Open Graph對象的ID:http://graph.facebook.com/?ids=http://www.mysite.com/pages?id=123456

您可以發佈到這些開放圖形對象的方式與發佈到標準Facebook頁面的方式完全相同。

希望有幫助!

+0

很好的答案,但我有2個問題:1)你必須將你的私人帳戶與頁面關聯才能管理它?和2)如果他們沒有任何賬戶與他們關聯,你應該如何管理Open Graph頁面? – GZaidman 2011-05-02 19:19:54

+0

@GZaidman - 如果您在Facebook上管理頁面(不是圖表頁面),您的「私人」帳戶必須是頁面上的管理員。此外,您必須擁有將用於管理安裝在「私人」帳戶上的頁面的任何應用程序。至於OG頁面,您可以在Graph(meta)標籤中設置App ID,以便FB知道哪些頁面可以管理它(請參閱[Open Graph Protocal管理文檔](http://developers.facebook.com/docs/opengraph/#管理員))。值得注意的是,無論是哪種情況,您的FB賬戶都必須安裝您的應用程序。 – 2011-05-02 19:40:47

+0

它似乎是混合$ facebook和$ fb – Henry 2012-12-15 23:19:57

相關問題