最初に: 私を許してください。
簡単なgraphAPIリクエストを正常に実行するためにphp facebook SDKを実行している実際のテストサイトがあります。つまり、ユーザーがメンバーであるグループのフィードを読み取り、これを処理して Web ページに表示します。
これはすべて正常に機能します。私が遭遇した問題は、php curl POST を介して別の Web ページ (同じドメイン) に同じ要求を実行しようとしたときです。ポスト リクエストが形成されたときに、SDK が予想されるセッションを別のページに運ばないようです (コードの「AUTH ERROR2」を参照)。カールができています。
「require_once」が別のディレクトリレベルのページから実行されたときに見つけるので、「curl」を実行したいと思います。ページが見つからないというphpエラーが発生します-これは予想されます。
私はこの問題にすべて間違って取り組んでいるだけかもしれません...ファイルがいつインクルードされるか、それらの正しい直接レベルが損なわれていないことを確認するより簡単な方法があるかもしれません。または、現在承認されているfacebook sdkセッションをカールポスト。私はそれらすべてを無駄にしようとしましたが、これについて何か助けやアドバイスをいただければ幸いです.
お時間をいただきありがとうございます。
//readGroupPosts.inc.php
function readGroupPosts($postVars)
{
//$access_token = $postVars[0];
// ^-- I'm presuming I need this? I have been experimenting appending it to
// the graphAPI request to no success...
$groupID = $postVars[1];
$limit = $postVars[2];
require_once("authFb.inc.php"); //link to the facebookSDK & other stuff
if ($user) {
try {
$groupFeed = $facebook->api("/$groupID/feed?limit=$limit"); //limit=0 returns all;
$groupFeed = $groupFeed['data']; //removes first tier of array for simpler access
$postArray;
for($i=0; $i<count($groupFeed); $i++)
{
$postArray[$i] = array($groupFeed[$i]['from']['name'], $groupFeed[$i]['message'], $groupFeed[$i]['updated_time'], count($groupFeed[$i]['likes']['data']));
}
return $postArray;
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
return "AUTH ERROR1"; //for testing..
}
}
else
{
return "AUTH ERROR2"; //no user is authenticated i.e. $user == null..
}
}