2012-10-15 145 views
2

我在過去幾天一直在閱讀很多東西,而且我確信我已經學到了很多東西。所有這些應有的Facebook文檔都在整個網絡上傳播(糟糕的意義上),讓人們尋找信息並嘗試了很多東西。如何使用Facebook應用程序訪問令牌?

我已經做了一些東西,如:

  • 發佈到網頁牆(圖片,鏈接,文字)
  • 發佈到配置文件牆

所以,我想關於爲頁面創建一種自動海報。但是,想象一下。我們需要訪問令牌,那些不會過期的訪問令牌。

好的,沒問題。從我一直在閱讀的應用程序訪問令牌照顧,然後我可以運行與腳本的克朗!

但是它應該如何使用訪問令牌運行發佈?

目前,使用用戶令牌時,如果可以檢索登錄用戶的ID,則使用此代碼。

FB.api('/<?=$album_id?>/photos?access_token=<?=$fanpage_token?>', 'post', { 
    message: ementa, 
    url: selected_image 
    }, function(response) { 
    if (!response || response.error) { 
    alert('Falhou a publicar a ementa com imagem'); 
    } else { 
    alert('Page Post ID: ' + response.id); 
    } 
}); 

我從Graph API Explorer中手動獲取粉絲頁面標記,因爲這只是要由cronjob使用。

我以前也有過相簿ID。

我怎樣才能使用這個應用程序令牌?

謝謝!

回答

0

後的Facebook應用程序API使用的研究長天,我終於發現了感謝cbaclig該應用程序無法控制一些東西,也只是有權限做的東西一樣檢查頁洞察,使實時間更新,以及一些類似的東西。

我在this link中發現了這個。

引述答案(它下線,以防萬一)鏈接:

這似乎是搜索方法需要的實際用戶訪問令牌,不只是一個應用程序訪問令牌就像你正在使用在你的例子中。我使用登錄用戶的訪問令牌嘗試了相同的查詢,並且它工作正常。 https://github.com/arsduo/koala/wiki/OAuth上的第一個示例描述了獲取用戶訪問令牌的不同方式(通過OAuth重定向,Javascript SDK等)。),您應該可以使用它來進行查詢。

在一般情況下,應用程序訪問令牌只用於特定應用的東西,比如讓你的應用程序的洞察數據,註冊實時更新,生成測試用戶等

讓我們知道是否有幫助!

編輯12年11月11日: 我終於發現,頁面訪問令牌可以訪問publish_stream和manage_pages,這將讓他們有失效,從來沒有訪問令牌發佈。

您需要使用用戶的擴展訪問令牌獲取Fan Page訪問令牌。那個永遠不會過期,然後你可以使用它作爲永遠的頁面發出請求。

4

首先,你可以在PHP中獲得更多的用戶令牌(即持續60天)

$facebook = new Facebook(array(
      'appId' => APP_ID, 
      'secret' => APP_SECRET, 
      'fileUpload' => true 
     ));  
$facebook->setExtendedAccessToken(); 

然後$facebook->getAccessToken(),並將其存儲到數據庫;

之後,如果你想發佈的東西給相應的用戶牆,創建$ Facebook的對象,設置現有的訪問令牌和做的事情......

$facebook = new Facebook(array(
     'appId' => $appId, 
     'secret' => $appSecret, 
     'fileUpload' => true 
    )); 
//set token 
    $facebook->setAccessToken($fbAccessToken); 
    $facebook->api('/me/photos','post', $data); 

這將自主使用cron作業工作。

+0

嗨。但從我一直在閱讀的內容來看,因爲我想以應用程序本身的身份訪問它,而不依賴於用戶,我不確定這將是處理它的最佳方式。 請注意,我沒有直接上傳圖片,而是通過網址引用它(並且我已經完成了所有工作)。 我只是需要允許腳本運行,並像做一個用戶一樣進行驗證,但是......沒有! 非常感謝:) –

相關問題