【问题标题】:How To: Non-Facebook-Users post to Facebook page wall如何:非 Facebook 用户发布到 Facebook 页面墙
【发布时间】:2012-11-29 11:23:33
【问题描述】:

我正在考虑一个场景,我需要你的意见,这是否可能。

我有一个普通的网站,在这个网站上我有一个表格,通过发送表格,它也应该发送到一个特定的 Facebook 页面。作为正常的页面状态更新。现在我不想强迫我的用户注册到 facebook 以发送表单。

通过阅读这里的一些文章和 facebook API,我认为这是可能的,但我有一个问题我无法解决:

  1. Facebook 应用创建
  2. 获取管理员的用户令牌
  3. 获取页面访问令牌以在页面墙上发布

这些点 (1-3) 应该可以正常工作,但这是我的问题:

如果我是对的,令牌会在一段时间后过期 - 如何获得不会过期的令牌?或者有其他方法可以解决这个问题吗?

这是在 Facebook 页面上发布的工作代码:

$attachment = array(
'access_token' => 'BACyul4fRfyEmI3xwMDs..........................',
'message'=> "Hello Test"
);
$result = $facebook->api('/'.$page_id.'/feed', 'POST', $attachment);

【问题讨论】:

    标签: php facebook access-token facebook-wall


    【解决方案1】:

    如何获得不会过期的令牌?或者有没有 有什么其他方法可以解决这个问题?

    无法获得不会过期的令牌,但可以对其进行扩展。阅读here 了解更多信息。但最佳做法是查看他们是否已经使用 SDK 登录,如果没有,则将他们重定向到登录。就这么简单。

    您无需在附件中添加access_token,facebook SDK 会为您处理。所以这很好:

    $attachment = array(
    'message'=> "Hello Test"
    );
    $result = $facebook->api('/'.$page_id.'/feed', 'POST', $attachment);
    

    更多参数可在此documentation

    【讨论】:

    • 所以我的用户需要有一个 facebook 帐户?还是我作为管理员需要扩展令牌?没有别的办法吗?
    • 当我没有像你说的那样添加access_token时,我得到了这个错误:Fatal error: Uncaught OAuthException: (#200) The user hasn't authorized the application to perform this action
    • 嗯,那我猜加一下。是的,为了代表用户在您的墙上发布任何内容,用户必须拥有一个 Facebook 帐户。
    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 2011-07-14
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多