Php 如何:非Facebook用户发布到Facebook页面墙

Php 如何:非Facebook用户发布到Facebook页面墙,php,facebook,access-token,facebook-wall,Php,Facebook,Access Token,Facebook Wall,我正在考虑一种情况,我需要你的意见,看这是否可行 我有一个普通的网站,在这个网站上我有一个表格,通过发送表格,它也应该被发送到一个特定的facebook页面。作为正常的页面状态更新。现在我不想强迫我的用户注册到facebook来发送表单 通过阅读这里的一些文章和facebook API,我认为这是可能的,但我有一个问题无法解决: Facebook应用程序创建 正在获取管理员的用户令牌 获取页面访问令牌以在页面墙上发布 这几点(1-3)应该很好,但我的问题是: 如果我是对的,令牌将在一段时间后过期

我正在考虑一种情况,我需要你的意见,看这是否可行

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

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

  • Facebook应用程序创建
  • 正在获取管理员的用户令牌
  • 获取页面访问令牌以在页面墙上发布
  • 这几点(1-3)应该很好,但我的问题是:

    如果我是对的,令牌将在一段时间后过期-如何获得一个不过期的令牌?还是有其他方法来解决这个问题

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

    $attachment = array(
    'access_token' => 'BACyul4fRfyEmI3xwMDs..........................',
    'message'=> "Hello Test"
    );
    $result = $facebook->api('/'.$page_id.'/feed', 'POST', $attachment);
    
    如何获得不过期的令牌?还是有 还有其他解决这个问题的方法吗

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

    您不需要在附件中添加
    access\u令牌
    ,facebook SDK将为您处理。所以这很好:

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

    中提供了更多参数,因此我的用户需要有一个facebook帐户?或者我作为管理员需要扩展令牌?没有其他方法吗?如果我没有像你说的那样添加
    access\u令牌
    ,我会得到以下错误:
    致命错误:未捕获OAuthException:(#200)用户没有授权应用程序执行此操作
    Hm,那么我想应该添加它。是的,为了代表用户在墙上发布任何内容,用户必须拥有facebook帐户。