question2answer (지식 불필요)에 대한 플러그인을 작성하려고합니다. 새로운 질문이 게시되면 해당 질문을 페이스 북 페이지의 활동으로 게시합니다. 이것을 달성하는 것은 문제가되지 않습니다. 내가 겪는 것은 끈기입니다.Php Facebook API 페이지 액세스 토큰
제가 잘못 이해 한 경우, 제가 잘못 생각한 경우 관리자 사용자의 계정을 통해서만 페이지에 대한 액세스 토큰을 직접 얻을 수 있다는 것입니다. 이로 인해 우리가 저장 한 액세스 토큰이 로그 아웃 된 페이지의 관리자가 만료 될 때 게시에 문제가 발생합니다. 글쎄, 우리가 영원히 계속 로그인 할 것으로 기대하지는 않겠지?
이 문제를 해결할 다른 방법이 있습니까? 사용자가 해당 페이지에 대신 게시하도록하는 것과 같은가?
다음은 현재 사용하고있는 코드입니다 (최종적인 것이 아니라 오류 처리가 아닙니다). 내가 추측 문제를 해결할 것이다 당신은 당신의 팬 페이지에 대한 절대 만료되지 토큰을 가질 수
$facebook2 = new Facebook(array(
'appId' => qa_opt('facebook_app_id'),
'secret' => qa_opt('facebook_secret')
));
$facebook2->setAccessToken(qa_opt('facebook_page_access_code'));
// Try to extend token
$access_token = $facebook2->getExtendedAccessToken();
// As is, with the extended token, we currently post as the user, not the page. Let's fix that
$accounts = $facebook->api('/me/accounts?access_token='.$access_token);
foreach ($accounts as $account)
{
if ($account['id'] == qa_opt('facebook_page_id'))
{
$page_access_token = $account['access_token'];
break; // Stop processing foreach
}
}
$fbPageArgs = array('access_token' => $page_access_token,
'message' => 'A new question has been created!',
'link' => qa_q_path($params['postid'], $params['title'], true),
'name' => $params['title'],
'description' => $params['text']
);
$facebook2->api("/".qa_opt('facebook_page_id')."/feed?fields=access_token","post",$fbPageArgs);
누구나 아이디어가 있으십니까? 분명히 누군가가이 문제에 뛰어 들었다. – Eric