php - 以编程方式登录到 facebook 并发布到页面(墙)

标签 php facebook-graph-api facebook

我有一个网站,我需要它不时将状态更新发布到 Facebook 页面。

使用我的个人 Facebook 帐户,我创建了一个应用程序和一个页面。到目前为止,我已经能够通过将此代码添加到我的网站以编程方式发布到我的页面墙上:

include_once "lib/facebook/src/facebook.php";

$facebook = new Facebook(array('appId' => 'APP_ID_HERE', 'secret' => 'APP_SECRET_HERE'));

if($facebook->getUser()) {

    try {
        $ret_obj = $facebook->api('/FACEBOOK_PAGE_ID_HERE/feed', 'POST', array(
            'link' => 'www.example.com',
            'message' => 'Posting with the PHP SDK!',
            'access_token' => 'FACEBOOK_PAGE_ACCESS_TOKEN_HERE'
        ));
        echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>';

    } catch(FacebookApiException $e) {
      // user logged out (has user_id, but invalid access token)
      $login_url = $facebook->getLoginUrl(array('scope' => 'publish_stream')); 
      echo 'Please <a href="' . $login_url . '">login.</a>';
    }
    echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';

} else {

    $login_url = $facebook->getLoginUrl(array('scope' => 'publish_stream'));
    echo 'Please <a href="' . $login_url . '">login.</a>';

}

所以我只是打开我的网站,点击“请登录”,以我自己的身份登录。我登录后,它现在可以将状态更新发布到 Facebook 页面。

显然,这里的问题是我需要登录才能发帖。如果其他用户尝试使用他们的用户帐户登录,我的网站将无法向 Facebook 页面发布状态更新,因为我是该应用程序/页面的唯一管理员。

我的问题是,有没有办法让我以编程方式登录 Facebook,以便我可以自动对我的主页进行这些状态更新?

抱歉,Facebook 开发完全是菜鸟。

最佳答案

似乎您需要在 Facebook 离线时更新状态。为此,您需要获得应用程序用户的离线访问权限,并且您需要有一个“无限” token 供 facebook 应用程序访问 API,以便您的程序可以随时更新而无需登录 facebook。

在这里你可能会得到你想要的东西

http://developers.facebook.com/docs/authentication/

关于php - 以编程方式登录到 facebook 并发布到页面(墙),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7991180/

相关文章:

Android facebook sdk 4.0 ProfileTracker onCurrentProfileChanged 永远不会被调用

php - 如何仅通过单击提交按钮来提交表单

facebook - Facebook Open Graph 图片的最小宽度和高度是多少?

facebook - 在服务器上验证 Facebook 登录

jquery - 关闭 `@grant none` 会破坏我的 Greasemonkey 脚本吗?

iphone - IOS5 和 facebook api

php - 需要有关不受支持的字符的帮助

php - Docker 容器关闭脚本

php - 在 WordPress 中的 foreach 循环内选择查询

javascript - 使用 Facebook JavaScript SDK