【问题标题】:Posting photos to a Facebook page as a non-admin以非管理员身份将照片发布到 Facebook 页面
【发布时间】:2012-03-09 05:02:59
【问题描述】:

客户希望人们能够从他们的网站上传照片并让他们发布到他们的 Facebook 页面。我个人是相关 Facebook 页面的管理员,因此我可以自己发布照片而不会出现问题。但是,我正在尝试确定非管理员是否可以将照片发布到页面内的相册中。

最初,有一个 offline_access 范围,它允许我获取一个访问令牌(以我自己的身份登录)以在第三方网站上使用,但现在情况不再如此。它看起来越来越像没有办法通过开放图形 api 将任何类型的信息写入 Facebook 页面(包括墙甚至墙帖子)除非您是管理员并启用了 manage_pages令牌。

有什么想法吗?

【问题讨论】:

    标签: facebook-graph-api facebook-page


    【解决方案1】:

    您不需要manage_pages 权限。你想要publish_stream

    manage_pages 只允许您获取访问令牌以“以管理员身份登录”用户有权访问的页面。发布流允许您制作 cmet 并在人们的墙上发帖。

    使用publish_stream,只要该页面的权限允许,您应该能够将图片发布到页面墙上。但是,您将无法将它们上传到页面相册,因为这需要由管理员对页面执行。就像您的朋友可以将照片发布到您的墙上,但他们不能将照片添加到您的相册一样。

    使用图形协议,您可以执行以下任何操作:

    1. 您通过身份验证的用户有权执行
    2. 您的应用程序已被授予代表用户执行的权限。

    因此,了解参与者(经过身份验证的用户)和受害者(被更改的对象)的权限设置非常重要。

    【讨论】:

    • 这对相册来说很有意义。有什么方法可以作为页面本身来执行这些操作,还是需要页面管理员才能登录?我对 access_token 和最近弃用的 offline_access 感到非常困惑。有了这个,有人如何以编程方式从 Facebook 提取内容以显示在网站上,而无需每 2 个月或其他任何时间手动更新令牌?让某人授权应用程序以查看第三方网站上的墙贴似乎很尴尬,但也许我错过了什么?
    • 您首先必须以具有“manage_pages”权限的管理员身份进行身份验证。然后,您可以通过调用graph.facebook.com/me/accounts 来获取您想要充当的页面的访问令牌。使用该访问令牌将使您以页面本身的身份登录。
    • 是的......我搞砸了,并且能够使用页面访问令牌来做这些事情,所以我可以忍受这种情况。对我问题的后半部分有任何见解吗?当 offline_access 仍然可用时,我会生成一个令牌并将其放入我的 PHP 脚本中,用于为第三方网站拉入墙帖,这将无限期地工作(并且仍然有效)。也许这首先不是最好的方法,但是现在不推荐使用offline_access,如果没有1)经常手动更新令牌,或者2)强制用户登录,我真的不确定如何做到这一点.
    • 不幸的是,您将不得不偶尔强制用户登录。我仍然在我的项目中使用offline_access,但我已经更新了它们以在尝试使用之前检查访问令牌,并在过期时强制登录。
    • 这对我来说似乎很奇怪,您必须让用户登录才能查看与他们无关的信息(来自公共页面),并且不会代表他们执行任何类型的功能的用户。例如,Twitter 将允许您从公共用户那里提取推文,甚至不需要 api 密钥。如果您代表用户发帖,我完全可以理解为什么 access_token 是必要的,但是公共信息的只读功能......这对我来说毫无意义。我觉得必须有更好的方法来做到这一点。 ://
    猜你喜欢
    • 2012-12-31
    • 2015-11-23
    • 2023-03-25
    • 2011-04-07
    • 2014-07-16
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多