Facebook Graph API를 사용하여 페이지의 내용을 어떻게 얻을 수 있습니까?
-
16-09-2020 - |
문제
예를 들어 '페이지'가 있습니다.
http://www.facebook.com/facebook
그 페이지는 RSS 피드 (이상적으로 사용하고, 이상적으로)를 가지고 있지만, i) 브라우저 냄새가 나는 의미는 스크립트에서 사용자 에이전트를 가짜로 가짜로 가져와 실제로 부서지기 쉬운 것으로 느껴집니다. ) 반송 된 데이터의 품질은 정말로 가난합니다.
그래프 API를 사용하여 동일한 데이터를 가져올 수 있습니까? 이 URL :
https://graph.facebook.com/facebook/feed
는 i 을 의미하고, JSON은 클라이언트 측보다는 PHP 스크립트에서 이것을 가져 오는 것입니다. 그러나 실제 페이지의 URL을 시도하면 다음을 얻습니다.
{
"error": {
"type": "OAuthAccessTokenException",
"message": "An access token is required to request this resource."
}
}
.
내 페이지에 액세스 토큰이 필요한 이유를 이해하지 못합니다. 다른 페이지는 '더 많은 공개'인 경우 페이지의 구성이 어딘가에있는 것입니까? 그렇지 않은 경우 액세스 키를 얻는 가장 좋은 방법은 이 아닙니다. 페이지 소유자가 인증 할 대화식 스크립트입니다.
해결책
컬을 통해 URL에 액세스하려고하면 PHP에서 나를 위해 OK가 작동합니다.
$curlResponse = http('https://graph.facebook.com/facebook/feed');
$facebookFeed = json_decode($curlResponse['data'], true);
var_dump($facebookFeed);
.
이 PHP 기능 사용 :
function http($url) {
$timeout = 30;
$connectTimeout = 30;
$sslVerifyPeer = false;
$response = array();
$ci = curl_init();
/* Curl settings */
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $connectTimeout);
curl_setopt($ci, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ci, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, $sslVerifyPeer);
curl_setopt($ci, CURLOPT_URL, $url);
$response['http_code'] = curl_getinfo($ci, CURLINFO_HTTP_CODE);
$response['api_call'] = $url;
$response['data'] = curl_exec($ci);
curl_close ($ci);
return $response;
}
. 제휴하지 않습니다 StackOverflow