如何以不同的人身份发布到 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 应用程序:在一篇文章中将多张图片上传到墙上