0

我的情况如下。我是一个 facebook 应用程序和一个 facebook 页面的所有者。我想以编程方式(从代码)发布到这个 facebook 页面。据我所知,我需要一个 facebook 应用程序来做到这一点,所以我创建了一个。我正在使用 facebook php sdk 和代码点火器。(我没有使用 javascript sdk)。

我有 facebook 对象。我打印了它的方法并在登录 facebook 时尝试打印用户 ID。这没有用。我的问题如下: 1)为什么打印 facebook id 不起作用?2)以编程方式发布到我的 Facebook 页面的最简单的解决方案是什么?(来自我的应用程序或来自我的用户)

我究竟做错了什么 ?这是我的代码

$config = array(
  'appId'  => 'xxxx',
  'secret' => 'xxxx',
  'cookie' => true,
);


$this->load->library('facebook', $config);
echo '<pre>';print_r(get_class_methods($this->facebook));

 $id = $this->facebook->getAppId();
 $secret =$this->facebook->getApiSecret();
 $uri = "http://tipsterscorner.com/stats/display/facebook1";//callback_url se pare ca nu e bun

//我构建了 facebook url。如果我在浏览器中使用它,我会得到一系列弹出窗口(你允许应用程序 blabla)//我在某处读到,如果我将最后一个参数更改为代码,并使用 curl,我将在响应中获取令牌 // 打印在返回 url 的屏幕上,但这不会发生

 $facebook_url = "https://www.facebook.com/dialog/oauth?`client_id=$id&client_secret=$secret&redirect_uri=$uri&scope=publish_stream,offline_access,read_stream,manage_pages&response_type=token";`


$curl = curl_init();
// Set some options - we are passing in a useragent too here
    curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $facebook_url,
    CURLOPT_USERAGENT => 'Codular Sample cURL Request'
));
// Send the request & save response to $resp
$resp = curl_exec($curl);

这是网址。 http://tipsterscorner.com/stats/display/facebook1

非常感谢。

4

1 回答 1

0

要自己和代表他人使用该应用在 Facebook 上发帖,您需要获取user access令牌。有两种,Access TokensApp Access TokenUser Access Token。当应用程序代表用户发布时User Access Token是必需的。User Access Token当用户授予应用程序权限时生成(您在浏览器中输入 facebook url 时遇到的对话框弹出窗口)。它完全取决于用户是否授予应用程序代表他们发布的权限。应开发应用程序来处理这两种情况。一旦用户授予权限(Basic Permission包括用户的所有公开可用信息),将生成用户访问令牌。您可以将其存储在database tableSESSION.
有时用户访问令牌可能会变得无效并且必须检索新令牌。在此期间curl可用于检索,因为用户已授予该应用程序的权限。
http://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/

于 2013-05-14T11:13:54.907 回答