문제

예를 들어 '페이지'가 있습니다.

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;
}
.

다른 팁

업데이트 : 2011 년 6 월 3 일 현재 모든 API 요청에 유효한 앱 또는 사용자 Access_token이 필요합니다.

자세한 정보 :

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top