2011-05-01 3 views
0

기본적으로 페이스 북 페이지 (프로필 아님) 벽에 대한 링크를 게시 할 웹 앱이 있습니다.사용자 인증없이 페이 스북 페이지에 대한 링크 게시

내가 아는 한 영구적 인 토큰이 필요합니다. 트위터는 나에게 계정에서 곧바로 하나를 준다. 그래서 나는 페이스 북이 비슷한 것을 가지기를 바랐다. 그러나 manage_pages 권한으로받는 토큰에는 만료 기간이 있습니다.

요청 토큰 페이지를 관리하려면이 인증 문서에서

내가 뭘했는지입니다

https://www.facebook.com/dialog/oauth?client_id=123456789123&redirect_uri=http://myapp.com/fb&scope=manage_pages&response_type=token 

내가 내 응용 프로그램의 설정에 붙여 넣하려는 URL을 다시 토큰을 얻을 :

http://myapp.com/fb#access_token=123123123123123%7C2.18VYbalblablablaswhg__.3600.1304294400.1-615173155%7CTzb_U9ma0LIPJXNzqsZ_xUJpfn8&expires_in=4205

실제로이있는 페이지에 게시하려고 , 나는 만료 된 오류가 발생합니다.

$post_params = array(
'access_token' => self::$page_token, 
'message' => $string 
); 
$response = $fb_app->api('/'.self::$page_id.'/feed','POST', $post_params); 

답변

1

영구 토큰을 얻으려면 offline_access 권한이 필요합니다. 페이지 자체로 게시하려는 경우 해당 페이지의/USER_ID/accounts에서 토큰을 가져와야합니다. 그렇지 않으면 프로필에서 게시하게됩니다. 페이지로 게시하지 않으려는 경우 실제로는 manage_pages 권한이 필요하지 않으며 사용자의 publish_stream만으로 충분합니다. 행운을 빕니다.

+0

영구 액세스를 요청하는 페이지가 팝업되었습니다. 그러나 내가/me/accounts에서 획득 한 페이지 액세스 토큰을 사용하여 페이지 벽에 게시하려고 시도했을 때 # 200 오류 (승인되지 않음)가 발생했습니다. – Keyo

+0

아, publish_stream도 필요했습니다. 그래서 scope 매개 변수에'publish_stream, offline_access, manage_pages'가 있습니다. – Keyo