我一直在谷歌搜索2天,并找不到任何明确的。我遇到的所有结果都使用不再适用的不推荐使用的代码。请帮忙。Facebook JS SDK - 在权限检查后发布到墙上
我需要一个按钮,点击上...
- 检查延长权限
- 如果权限尚未授予,要求他们(user_likes,offline_access,publish_stream)
- 获得权限后,发布后用户的墙壁
- 允许我推墙的帖子给用户,而他们是离线
有人可以协助吗?
我一直在谷歌搜索2天,并找不到任何明确的。我遇到的所有结果都使用不再适用的不推荐使用的代码。请帮忙。Facebook JS SDK - 在权限检查后发布到墙上
我需要一个按钮,点击上...
有人可以协助吗?
这很简单。您可以调用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,我只需要包含auth令牌**而不需要**需要offline_access? – Steve
昨天晚上我实现了由OffBySome发布的示例,并且它运行得非常漂亮。谢谢:) – Steve