有没有人遇到FB.ui的“to”属性被忽略的情况 - 即使它已经设置 - 而仅的帖子会转到当前登录用户的墙上?
当使用完全剥离的测试页面使用FB示例代码(和硬编码的参数值)时,它会按预期发布到我的墙上。但是当我向这个FB代码添加“to”属性时,仍然只发布到我的墙上。
我会非常感谢任何想法,因为我已经将这些档案和FB开发网站拖入了我认为彻底的方式。
SDK正确加载并且iframe弹出(尽管它滚动到页面顶部)。
以下是我的测试页中使用的精简代码:
$("#well").click(function(e) {
FB.ui(
{
method: 'feed',
to: '***', /* <=== this person is a confirmed friend with appropriate privacy settings */
name: 'The Facebook SDK for Javascript',
caption: 'Bringing Facebook to the desktop and mobile web',
description: (
'A small JavaScript library that allows you to harness ' +
'the power of Facebook, bringing the user\'s identity, ' +
'social graph and distribution power to your site.'
),
link: 'https://developers.facebook.com/docs/reference/javascript/',
picture: 'http://www.fbrell.com/public/f8.jpg'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
提前致谢。
感谢Sahil Mittal的贡献,我制定了这个相当合理的解决方案:
`
var jqxhr = $.get( "http://graph.facebook.com/"+$("#fbto").val()+"?fields=id", function( data ) {
// could do something useful here...
})
.done(function( data ) {
// do something else useful useful, in this case finish posting stuff to the wall
})
.fail(function( data ) {
// thrown if the user doesn't exist
})
.always(function( data ) {
// etc...
})
`
现在,这是一个jQuery 1.8。*解决方案,我还应该在高流量场景中添加它,我不确定FB会如何善待他们的URL来将提交的用户名转换为ID。但是,如果我们到达那里,那将是一座我将愉快地过去的桥梁!
再次感谢Sahil。
答案 0 :(得分:0)
您无法在username
参数中使用to
。您必须使用 id
。
如果你没有id,你可以从用户名本身获得。拨打电话/{username}?fields=id
,您将获得响应中的ID。
例如:http://graph.facebook.com/sahilmittal?fields=id。
回复是:
{
id: "595273610"
}
只需获取此id
并在 to
参数中使用它。