2

Facebook API 的这两个问题我真的很迷茫……

发布到用户墙的所有内容都运行良好,但我有一个带有页面的客户。该页面是从头开始创建的,而不是作为用户自己创建的 - 即他们没有登录并创建一个他们刚刚从 Facebook 欢迎屏幕>创建页面开始的页面。

那里的页面工作正常,但是,

1) 我们的系统正在通过 API 提交帖子并收到一个 ID 作为回报(例如 {"id":"123456_123456"} 从 Facebook 返回 - 这告诉我 facebook 已接受它并给了我帖子的 ID。

但是,该帖子不会出现在它相关的页面上(我已经检查了它的提交位置并且它是正确的用户 ID)。该系统对所有其他用户都运行良好。

2) 当该用户通过 Javascript 登录时,我们得到“me.name”的空值(我们得到 me.email 等,只是没有名字)

这一切正常吗,还是页面有不同的技术来发布和检索数据?

4

2 回答 2

2

电子邮件是 facebook 用户的私人数据,这是您遇到的权限问题

获取用户电子邮件地址的唯一方法是请求电子邮件字段的扩展权限。

登录后。

这就是 facebook api 的工作原理,它会泄露其用户的私人数据

于 2012-10-08T17:18:40.087 回答
0

好的,我解决了这个问题,我不怀疑这里任何人的能力-也许我的问题仍然被误解...

某些 Facebook 页面(尤其是业务页面)不是由现有用户创建的页面与 Facebook 群组和用户页面不同。您不能只使用短期或长期访问令牌提交。

您必须首先使用您的令牌将 facebook 称为http://graph.facebook.com/ID_OF_PAGE/accounts 。

Facebook 返回一个页面列表,每个页面都有自己的唯一 ID 和每个页面的令牌。

然后,您获取所需页面的令牌,然后使用页面 ID 和该页面 OWN 令牌重新提交 - 瞧,它会发布到它!

正如我发现的那样,它们仍然是 Facebook 的错误。它在我为客户创建的一个商业页面上写着“将 Facebook 用作 .”。- 即在“。”之前缺少名称。- 它应该说“使用 Facebook 作为 MYNAME”。

这给 JS FB.login 带来了另一个问题,因为人名返回未定义。我不得不验证他们的电子邮件 - 否则它会显示“您以 . 身份登录”。

我认为这是因为 FB 允许您以新用户身份从头开始创建页面,而无需以您自己的身份登录 - 那么某些值没有被设置并且它搞砸了。

也许可以帮助某人...

于 2012-10-25T15:06:21.863 回答