이 문제에 관해 많은 스레드를 찾았지만 작동하는 해결책을 찾지 못했습니다.cron에서 PHP SDK 4를 사용하여 Facebook 페이지 상태 쿼리
내가해야할 일은 백그라운드에서 공개 페이지 상태 (cron 사용)를 다운로드하는 것입니다. 지금까지 다음 코드를 사용했습니다.
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
public function actionDownload() {
$appId = "...";
$appKey = "...";
$pageId = '...';
// Create FB session.
FacebookSession::setDefaultApplication($appId, $appKey);
$session = FacebookSession::newAppSession();
// Perform FB request.
$request = new FacebookRequest($session, 'GET', "/" . $pageId . "/posts");
$response = $request->execute();
$results = $response->getGraphObject()->asArray();
// Parse response and save results.
/// ...
}
이것은 한 가지 예외가 있습니다. 나는 모든 게시물을 원하지 않는다. 상태 만 필요합니다. 그래서 "posts"edge를 "status"edge로 바꿨고 이제는 FacebookAuthorizationException (# 100)으로 실패합니다. 사용자 세션이 필요합니다. "페이지/상태"가장자리 문서에도 불구하고 실패 함
모든 공개 공유 상태를 보려면 유효한 액세스 토큰이 필요합니다.
무엇이 잘못 되었나요? 앱 토큰이 충분하지 않은 경우 백그라운드 cron 프로세스에서 사용자 액세스 토큰을 얻으려면 어떻게해야합니까?
답장을 보내 주셔서 감사합니다. 나는이 페이지 [link] (https://developers.facebook.com/docs/graph-api/reference/v2.2/page/statuses)에서 페이지/상태 엔드 포인트가 " 이 페이지에서 게시 한 상태 메시지 ". 그럼 그게 뭡니까? – Merlin
은 이전 페이지 여야하며 docs 페이지를 통해 도달 할 수 없습니다. "이 페이지에서 게시 한 상태 메시지"는/posts 엔드 포인트가됩니다. – luschn
오, 당신 말이 맞아요, 그것은 여전히 별도의 페이지에 있습니다. 기묘한. – luschn