Facebook Graph APIを使用して、ページの内容を取得できますか?
-
16-09-2020 - |
質問
例えば、「ページ」:
です。http://www.facebook.com/facebook
そのページにはRSSフィードがあります(理想的には理想的に使用します)、a)ITブラウザスニッフは、スクリプトからユーザーエージェントを偽造する必要があります - そしてそれは本当に脆いBを感じます)返されたデータの品質は本当に貧弱です。
グラフ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."
}
}
.
私のページにアクセストークンが必要な理由はわかりません。そうでなければ、アクセスキーを入手する最善の方法は何ですか。これは Not では認証に求める対話型スクリプトであることに注意してください。
解決
カールを介してURLにアクセスしようとすると、PHPでは大丈夫です。
$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が必要です。
所属していません StackOverflow