2009-12-08 4 views
1

내 사이트에서 특정 이벤트가 트리거 될 때마다 내 사이트 사용자의 Facebook 페이지에 프로그래밍 방식으로 메시지를 게시하려고합니다. 필요한 경우 stream.publish를 실행하는 cron을 갖습니다.Facebook - Stream.publish

나는 이것을 달성하기 위해 stream.publish를보고 있는데, 페이스 북 사용자의 연장 된 허가가 필요하다. 사용자가 게시에 관여하지 않으므로 사용자 기반에서 publish_stream 확장 권한을 얻으려면 어떻게해야합니까? 그들이 내 사이트에 가입하는 동안 또는 그들이 내게 자신의 사용자 이름 & 암호를 제공하는 동안 그것을 할 수 있습니까, 나는 그들을 위해 그것을 할 수 있습니까?

http://wiki.developers.facebook.com/index.php/Using_the_Open_Stream_API#About_the_publish_stream_Permission

답변

2

이 작업을 수행 할 수있는 유일한 방법은 사용 권한 대화 상자를 통해입니다. 당신이 페이스 북을 사용하는 경우 FB.Connect.showPermissionsDialog 체크 아웃 연결하면 쉽게 fbml에 FB:prompt-permission을 포함시킬 수 있습니다.

iframe/facebook 연결을 사용하는 경우 사용자 동작없이 FB.Connect.showPermissionsDialog를 호출 할 수 있습니다 (따라서 페이지로드시 대화 상자가 표시됩니다). FBML의 경우 창을 가져 오는 링크를 클릭하도록 사용자에게 지시해야합니다.

0

offline_access 및 stream_publish 확장 권한을 묻는 메시지가 필요합니다. 귀하의 앱에 가입 할 때이 작업을 수행 할 수 있습니다. 사용자가 이러한 알림을 사용하도록 설정 한 페이지가있을 수 있으며, 사용자가이 알림을 사용하도록 설정하면 확장 된 권한을 요청할 수 있습니다.

사용자가 offline_access를 부여하면 Facebook 세션 키가 변경되고 만료 값이 0으로 전환됩니다. 이것은 Facebook 동그라미에서 "무한 세션 키"로 알려져 있습니다. 나중에이 세션 키를 저장해야 cron 작업에서 사용할 수 있습니다. 그런 다음 무한 세션 키를 매개 변수로 사용하여 stream.publish를 호출 할 수 있습니다. 사용자가 사이트 나 페이스 북에 로그인하지 않아도 계속 진행됩니다.

관련 문제