如何从FB获取图片到网站

How to get images from FB to website

我正在努力从我们网站上的 FB 页面发布 post。我们添加到 FB 页面的每个新 post 和照片我也需要在我们的网站上显示。

我有这段代码,但没有按我的需要工作。

require 'php-graph-sdk-5.x/src/Facebook/autoload.php';

$fb = new Facebook\Facebook([
    'app_id' => '...',
    'app_secret' => '{app-secret}', // don't know where to find app_secret for my page, I've found that just for apps, not pages
    'default_graph_version' => 'v2.10'
]);

$access_token = '...'; // generated in developers, but with just for 12 hours, than this token is expired... :-(

try {
    // Returns a `Facebook\FacebookResponse` object
    $response = $fb->get('me?fields=id,name,feed,data', $access_token);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
    echo 'Graph returned an error: ' . $e->getMessage();
    exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
    exit;
}

$graphNode = $response->getGraphNode();

foreach ($graphNode as $node) {
    foreach ($node as $items) {
        print_r($items);

        // when access token was valid, I got posts from out FB page. But with no images, didn't find how to get add images to this feed...
    }
}

所以,我的问题是:

  1. 我在哪里可以找到 FB 页面的 app-secret?没有它我无法连接到我的 FB 页面,我想

  2. 如何生成永久访问令牌,或者如果不可能,如何制作其他方式?

  3. 如何将图像(新的、共享的等)添加到我的源中?

谢谢。

  1. 每个页面没有App Secret,每个App只有一个App Secret。您可以在应用设置中找到它。
  2. Extended/Permanent 令牌:https://developers.facebook.com/docs/facebook-login/access-tokens/ or http://www.devils-heaven.com/facebook-access-tokens/ - 要获取不受限制的页面的提要条目,您可以只使用应用程序访问令牌并将其硬编码到您的 PHP 代码中。
  3. 获取提要中的图像,而不仅仅是消息:您需要指定要获取的字段,否则您将只获取默认字段。它被称为 "Declarative Fields": https://developers.facebook.com/docs/graph-api/changelog#v2_4 - also, check out the API reference: https://developers.facebook.com/docs/graph-api/reference/post