아주 간단합니다. FB.login을 호출하여 확장 권한을 얻을 수 있습니다. 그런 다음 FB.ui를 호출하여 상태를 게시 할 수 있습니다 (FB.api를 호출하여/me/feed를 호출하여 사용자 상호 작용없이 게시 할 수 있습니다). 나중에 벽 게시물을 푸시 할 수 있으려면 나중에 사용할 수 있도록 서버에 access_token을 저장해야합니다.
<!DOCTYPE html>
<html>
<body>
<div id="fb-root"></div>
<a href="#" onclick="return postToWall();">Post To Wall</a>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ appId: '**appID**', status: true, cookie: true, xfbml: true, oauth: true });
function postToWall() {
FB.login(function(response) {
if (response.authResponse) {
FB.ui({
method: 'feed',
name: 'Facebook Dialogs',
link: 'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
});
} else {
alert('User cancelled login or did not fully authorize.');
}
}, {scope: 'user_likes,offline_access,publish_stream'});
return false;
}
</script>
</body>
</html>
이 예에서는 OffBySome 덕분입니다. 그것을 보면 솔루션에 매우 가깝지만 response.authResponse로 FB.login 포함을 놓친 것을 알 수 있습니다. 나는 오늘 밤 이것을 구현할 것이고, 나의 발견을보고 할 것이다. – Steve
offline_access와 관련하여 사용자 상호 작용없이 게시하려면이 권한이 필요 없음을 다른 사람이 확인할 수 있습니까? 나는 이것이 약간의 회색 영역이라는 것을 이해하지만, 사용자는 이것이 일어나고 있음을 알고 있으며 특별히 그것을 허용하도록 선택해야합니다. 그러나 자동 게시 : true가 비활성화되어 오프라인 사용자의 벽에 게시 할 수있는 기능이 필요하다는 것이 내 이해입니다. 사용자 ID를 사용하면 ** offline_access가 필요없는 ** 인증 토큰 **을 포함해야합니다. – Steve
어젯밤에 OffBySome이 게시 한 예제를 구현했으며 멋지게 작동했습니다. 고맙습니다. – Steve