我試圖在網站上創建「社交牆」,因此我使用Facebook API爲指定的Facebook頁面獲取一些帖子。我沒有使用任何Facebook SDK,我只是使用URL進行cURL調用。已達到Facebook應用程序請求限制(#4)
要檢索帖子,我使用Javascript。使用Ajax命令,我調用一個PHP文件,它可以將cURL調用到Facebook。
當我在本地計算機上工作時,一切正常,我得到所有元素。
但是,當我把我的代碼在網上,我有這樣的錯誤
OAuthException (#4) Application request limit reached
我到處找,我試圖把元素在localStorage的變量。再次,在本地,我正確地掌握了所有的元素。但是,當我在線測試,甚至在第一個API調用,我再次得到這個錯誤在我的控制檯...
我只是問的Facebook爲20個帖子:
- 我檢索頁面飼料(https://graph.facebook.com/myPageID/posts?limit=20&access_token=myToken)
- 用JavaScript我解析這個飼料,並與每一個ID我撥打電話,以獲得類似這樣的細節:https://graph.facebook.com/myPostID?access_token=myToken
- 然後,我有帖子細節,我撥打另一個電話爲每一個崗位知趣加入這:/ myPostID?fields = full_picture & access_token = myToken
所以,如果我是對的,1呼叫飼料,20個電話的帖子,20個電話的圖片。只有41個電話。
我該怎麼做才能使它正常工作?
編輯:
這裏是我的捲曲代碼:
爲gettoken啓動一次如果令牌是錯誤的。
getFeed已啓動一次以獲取訂閱源。
getPost和getPicture每次啓動20次。
function fetchUrl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
// You may need to add the line below
// curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$feedData = curl_exec($ch);
curl_close($ch);
return $feedData;
}
// Génère le token lié à l'appli fb
function facebook_getToken(){
global $FB_token, $FB_app_id, $FB_app_secret;
$FB_token = fetchUrl("https://graph.facebook.com/oauth/access_token?client_id=" . $FB_app_id . "&client_secret=" . $FB_app_secret . "&grant_type=client_credentials");
$FB_token = substr($FB_token, 13);
}
// Récupère les derniers posts de la page fb
function facebook_getFeed($pageID){
global $FB_token;
$json_object = fetchUrl("https://graph.facebook.com/" . $pageID . "/posts?limit=20&access_token=" . $FB_token);
$json_decoded = json_decode($json_object);
if(array_key_exists("error", $json_decoded)){
if($json_decoded->{'error'}->{'message'} == "Invalid OAuth access token signature."){
$_POST["a_t"] = null;
return null;
}
}
else{
$json_object = substr($json_object, 0, -1);
$json_object = $json_object . ", \"access_token\": \"" . $FB_token . "\"}";
return $json_object;
}
}
// Récupère les informations du post fb souhaité
function facebook_getPost($postID){
global $FB_token;
$thePost = fetchUrl("https://graph.facebook.com/" . $postID . "?access_token=" . $FB_token);
return $thePost;
}
// Récupère l'image du post fb en paramètre
function facebook_getPicture($postID){
global $FB_token;
$thePicture = fetchUrl("https://graph.facebook.com/" . $postID . "?fields=full_picture&access_token=" . $FB_token);
return $thePicture;
}
只是快速猜測:你確信代碼不循環請求不知何故?你可以在這裏添加你的CURL代碼嗎? – Shamppi
@Shamppi我不這麼認爲,怎麼可能有一個工作正常的離線但不在線的代碼? 我編輯了我的問題(我添加了CURL代碼) –