php
  • facebook
  • facebook-graph-api
  • facebook-php-sdk
  • facebook-access-token
  • 2013-10-04 39 views 0 likes 
    0

    林開始使用的PHP SDK,並努力理解一些事情(我有一個基本的例子如下 - 但每次的PIC去我的牆,而不是扇頁)Facebook的PHP API基礎

    代碼:

    require_once("facebook.php"); // set the right path 
    
        $config = array(); 
        $config['appId'] = 'app id'; 
        $config['secret'] = 'app secret'; 
        $config['fileUpload'] = true; // optional 
        $fb = new Facebook($config); 
    
        $params = array(
         // this is the access token for Fan Page 
         "access_token" => "I create this via the graph api (select App and click get token), I select publish stream and photo_upload permissions.", 
         "message" => "test message", 
         "source" => "@" ."photo.png", // "@" . 
        ); 
    
        try { 
         // **** is Facebook id of Fan page 
         $ret = $fb->api('/****/photos', 'POST', $params); 
         echo 'Photo successfully uploaded to Facebook Album'; 
        } catch(Exception $e) { 
         echo $e->getMessage(); 
        } 
    

    畫面一直要我的牆(登錄的用戶),而不是轉頁扇,是因爲即時得到令牌的用戶(我)當前登錄的,而不是粉絲頁面?如果是的話,我怎樣才能爲粉絲頁面生成一個令牌,同時以開發者身份登錄? (是通過將粉絲頁面ID置於Get欄中?)

    對noob問題抱歉,但facebook文檔很糟糕(直到你理解了核心功能)。大多數教程一旦你知道如何使用圖形API工作 - 沒有一個實際上看過解釋如何使用圖形生成正確的標記等。

    回答

    1

    \POST /<ID>/photos - 這將只在<ID>的牆上發佈,所以請雙倍 - 檢查您正在使用的<ID>

    訪問令牌將表示代表誰將照片張貼在<ID>的牆上。如果您使用用戶訪問令牌,則該照片將以用戶的名義發佈,如果使用頁面訪問令牌,則它將代表該頁面自行發佈。

    你可以讓你的網頁的副

    \GET /me/accounts?fields=access_token 
    

    的頁面訪問令牌(許可要求:manage_pages

    Demo

    +0

    每次我運行此我得到 「上傳成功」 - 這樣我確定token/id/secret是正確的。 我使用圖形,選擇應用程序,然後單擊「獲取訪問令牌」 - (GET標籤中的id是否有用?)確保publish_stream,photo_upload被選中。 當我調試這個令牌時,它總是授予我嗎?爲什麼這是,這是否授予任何人使用這個應用程序的權限?它似乎要做的就是將權限應用於ME開發者!每次運行應用程序時,它都發布到我的(開發人員)牆上,而不是粉絲頁面(就像我) - 即使我在PATH中指定了粉絲頁面ID。請幫忙!! – FstaRocka

    +0

    「這不授予使用此應用程序的任何人的權限」 - 你真的認真嗎?您在世界上如何獲得任何用戶(除您之外)的訪問令牌。請完善您的概念。顯然你可以爲自己獲取訪問令牌。你能得到我的Facebook密碼嗎? - 這與此類似。另一件事,你是這樣發佈的:'/ page-id/photos'還是'/ me/photos'? 'me'會貼到你的牆上,'page-id'貼到你的頁面上。這個概念非常簡單,非常清晰。 –

    相關問題