【问题标题】:Facebook api in javascript: how add the privacy?javascript中的Facebook api:如何添加隐私?
【发布时间】:2012-12-03 23:40:26
【问题描述】:

我想通过 Facebook Api 用 Ja​​vaScript 在我朋友的墙上发布一个帖子,但是当我在“FB.api”中插入“隐私”时,这段代码无法正确运行。有人能帮我吗? 谢谢。

var privacy = {value: 'CUSTOM',  friends: 'SOME_FRIENDS', allow: '{UID}'};
var privacy2 = JSON.stringify(privacy);

FB.api("/{UID}/feed", 'post', {
    message: 'Message',
    privacy: privacy2,
    }, function(response) {
        if (!response || response.error) {
            alert(response.error);
        } else {
            alert('Message sent!');
        }
    }
);   

【问题讨论】:

  • 您不需要通过stringify 运行 JSON。只需传递一个 JSON 就足够了。
  • 只有 JSON 脚本不会运行。也直接写在“FB.api”中:privacy: {value: 'CUSTOM', friends: 'SOME_FRIENDS', allow: '{UID}'},

标签: javascript facebook api privacy


【解决方案1】:

更改隐私 JSON 以在您的密钥周围包含引号:

var privacy={"value":"CUSTOM", "friends": "SOME_FRIENDS", "allow":"{UID}"};

FB.api("/{UID}/feed", 'post', {
    message: 'Message',
    privacy: privacy,
    }, function(response) {
        if (!response || response.error) {
            alert(response.error);
        } else {
            alert('Message sent!');
        }
    }
); 

但是,您似乎无法将私人消息发布到其他用户的墙上。来自privacy settings page on Facebook

注意:隐私参数仅适用于用户自己的帖子 时间线并最终受用户拥有的隐私上限的约束 为应用程序配置。它不适用于应用程序在 代表用户访问另一个用户的时间线或页面、事件或 团体。在这些情况下,任何可以看到的人都可以查看此类帖子 组或事件中的时间线或内容。

这似乎是您收到 OAuth 错误的原因。

【讨论】:

  • 我也试过了,但没有。它总是返回“[object Object]”
  • 您可以用console.log(response.error) 代替alert(response.error) 并查看JavaScript 控制台并描述对象中的内容吗?谢谢
  • 它说“对象{消息:”(#100)指定目标时无法应用隐私参数。”,类型:“OAuthException”,代码:100}”。你知道这意味着什么吗?
  • @acchiappasogni - 编辑回答有关 OAuth 错误。
  • 没问题 - 随时点击旁边的勾来接受答案;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 2015-02-19
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
相关资源
最近更新 更多