如何从 FB 获取图片到网站

Posted

技术标签:

【中文标题】如何从 FB 获取图片到网站【英文标题】:How to get images from FB to website 【发布时间】:2018-03-24 02:40:40 【问题描述】:

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

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

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...
    

所以,我的问题是:

    在哪里可以找到 FB 页面的 app-secret?我认为没有它我无法连接到我的 FB 页面

    如何生成永久访问令牌,或者如果不可能,如何使 i 其他方式?

    如何将图像(新的、共享的等)添加到我的供稿中?

谢谢。

【问题讨论】:

【参考方案1】:
    每个页面没有 App Secret,每个 App 只有 App Secret。您可以在应用设置中找到它。 扩展/永久令牌:https://developers.facebook.com/docs/facebook-login/access-tokens/ 或 http://www.devils-heaven.com/facebook-access-tokens/ - 要获取不受限制的页面的提要条目,您只需使用应用程序访问令牌即可将其硬编码到您的 PHP 代码中。 在提要中获取图像,而不仅仅是消息:您需要指定要获取的字段,否则只会获取默认字段。它被称为“声明性字段”:https://developers.facebook.com/docs/graph-api/changelog#v2_4 - 另外,请查看 API 参考:https://developers.facebook.com/docs/graph-api/reference/post

【讨论】:

1.我没有应用程序,只有 FB 页面。如何在没有 app_id 的情况下使用 API? 3.我不需要将照片添加到FB页面,而是从FB页面添加到网站。在我的提要中,$graphNode 中没有图像,只有消息(我们的 FB 帖子的文本部分)。 ad 2. 在您给我的扩展标记的链接中,有:“使您的应用程序能够检索该人管理的页面和应用程序的页面访问令牌。”......再一次,我没有APP,只有PAGE。此链接可能适用于应用程序,而不是页面。 那么你需要一个应用程序 ;) - 没有应用程序,就没有 api 访问权限。 关于提要结果:请阅读文档中有关“声明性字段”的信息,我将添加指向我的答案的链接 顺便说一句,您不能只从 api explorer 应用程序中获取访问令牌。您必须使用自己的应用。

以上是关于如何从 FB 获取图片到网站的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python 脚本将原始数据从 `/dev/graphics/fb0` 传输到图片?

使用 javascript SDK 从 facebook graph api 获取个人资料图片

从google网站API获取图片网址(附近的搜索)

如何获取图片网络链接啊?

如何从 wordpress 中的帖子页面 id 获取 acf 的画廊图片 url

如何从FB页面插件中获取哪个用户喜欢页面