如何以不同的人身份发布到 Facebook 墙上

Posted

技术标签:

【中文标题】如何以不同的人身份发布到 Facebook 墙上【英文标题】:How to publish to a facebook wall as a different person 【发布时间】:2012-03-02 03:02:04 【问题描述】:

我维护一个 asp.net 网站,并要求作为企业发布到企业 facebook 墙。

我们为此设置了一个 facebook 应用程序。

所以当用户点击网站上的按钮后,程序会使用 scope=publish_stream,offline_access,manage_pages 参数调用 facebook

Facebook 返回一个代码

我们再次调用 facebook,看起来像这样

string.Concat("https://graph.facebook.com/oauth/access_token?client_id=" + facebookPostClientId, "&redirect_uri=" + "blah.aspx", "&client_secret=" + facebookPostSecret, "&code=" + 代码)

Facebook 返回一个访问令牌。

然后我们调用 facebook 以获取所有帐户,如下所示: https://graph.facebook.com/" + facebook_user_id + "/accounts?access_token=" + accessToken; 然后,我们遍历帐户,直到找到正确的帐户,然后再次调用 facebook,例如

https://graph.facebook.com/" + 用户名 + "/feed?&access_token=" + accessToken + "&picture=" + 图片 + "&name=" + "学生卡 - 交易" + "&link=" + 链接 + "&message=" +消息 + "&caption=" + 标题 + "&from=" + 用户名 + "&to=" + 用户名;

它在时尚之后起作用。如果创建 facebook 应用程序的企业所有者登录到 facebook,则处理工作正常。

如果其他人登录,则不会。

原因是我们调用 facebook 来获取所有帐户的方法只有在企业主登录到 facebook 时才有效。

我尝试将企业主 facebook id 插入到代码中,而不是从已登录的用户中删除,但它不起作用。

那我该怎么办?这是错误的处理方式吗?

我意识到这可能有点啰嗦,但我是 facebook 的新手,我会提供我认为必要的尽可能多的信息。

提前致谢

尼尔

【问题讨论】:

【参考方案1】:

原因是我们调用 facebook 来获取所有帐户的方法只有在企业主登录到 facebook 时才有效。

分离这部分流程。获取所有帐户,然后将它们缓存在您的数据库中。每当您无法获取帐户时,只需使用缓存的信息并正常进行(否则更新数据库并正常进行)。

【讨论】:

以上是关于如何以不同的人身份发布到 Facebook 墙上的主要内容,如果未能解决你的问题,请参考以下文章

如何在 facebook iOS SDK 3.1 中发布到朋友的墙上?

facebook:作为应用程序发布到用户的墙上

Facebook 应用程序:在一篇文章中将多张图片上传到墙上

如何格式化模板以在 Facebook 墙上共享图像

Facebook SDK:发布到墙上只对我可见以用于测试目的?

您如何在 facebook 页面上发布到墙上(不是个人资料)