PHP Facebook Graph API 和完整或更大尺寸的帖子图像

2024-02-07

进行了一些搜索,但没有任何结果或者是旧的并且不起作用

我正在使用 graph api 获取 facebook 帖子并在我的网站上对其进行格式化,URL/curl/json 正在运行;但是,图片默认返回最小的 130x130 版本。我在每个帖子的 foreach 循环内添加了第二个 json 以获取较大的图像 URL,但这会显着减慢页面加载速度。

帖子是否有一个参数可以抓取更大的 720x720 图像 URl,而不是默认拉取的小图像。我尝试了用于第二个(循环中)的 fields=full_picture 但它不起作用。

还尝试使用 file_get_contents() 函数代替 cURL 解决方案,但没有明显的速度差异

我还尝试对初始数组的图片数据进行字符串替换,但 facebook 现在将这些 oh= 和 oe= 标记添加到其图像 URL 中,因此该技巧也不起作用。

$limit = 20;
//App Info, needed for Auth
$app_id = "app id removed :)";
$app_secret = "seceret code removed :)";

$url = 'https://graph.facebook.com/'.$profile_id.'/posts?limit='.$limit.'&access_token='.$app_id.'|'.$app_secret;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
$json = json_decode($data, true);

foreach($json[data] as $child) {
    $thisDate = $child['created_time'];
    $url='https://graph.facebook.com/' . $child['id'] . '?fields=full_picture&access_token='.$app_id.'|'.$app_secret;
    /*
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    $pic = json_decode($data, true);
    */
    $pic = json_decode(file_get_contents($url),true);
}

curl_close($ch);

该解决方案确实有效并提供了更大的图像,但由于循环内额外的 cURL 调用,只是减慢了页面加载速度。

谢谢


您可以使用以下方法在一个请求中获取该数据:fields https://developers.facebook.com/docs/graph-api/using-graph-api/#fields范围:

/me/posts?fields=message,full_picture

(如果您想要更多附加字段,则还必须列出它们。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP Facebook Graph API 和完整或更大尺寸的帖子图像 的相关文章

  • 如何在 Swift 3 中解析 JSON 数组 [重复]

    这个问题在这里已经有答案了 我从 Socket 获取了一些我想访问的数据 但收到错误消息 指出每次都无法将 NSArray 转换为 NSDictionary struct SocketEventHandler let event Strin
  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • 使用 ImageMagick 和 PHP 将 PNG 转换为 JPG 并将透明背景设置为白色

    将图像从 PNG 转换为 JPEG 时 如何使用 ImageMagick 带有 php 扩展 将透明背景设置为白色 在撰写本文时 您尚未指定正在使用哪个扩展 但如果您使用命令行 则命令将是 convert image png backgro
  • 如何检测字符串中的非 ASCII 字符?

    如果我有一个 PHP 字符串 如何以有效的方式确定它是否至少包含一个非 ASCII 字符 我所说的非 ASCII 字符是指不属于该表的任何字符 http www asciitable com http www asciitable com
  • Facebook - “IN”子句中参数的最大数量?

    In Facebook query language FQL 您可以指定一个IN子句 例如 SELECT uid1 uid2 FROM friend WHERE uid1 IN 1000 1001 1002 有谁知道你可以传入的参数的最大数
  • Google Cloud SQL 上的故障转移如何运作?

    我打算将 PHP 应用程序 从 Google Cloud Platform 外部的服务器 连接到 Google Cloud SQL 我想知道如何设计应用程序以正确地对其数据库进行故障转移 根据manual https cloud googl
  • 未传递“client_reference_id”参数

    我使用 Stripe Checkout Stripe 版本 2016 07 06 我想通过参数 client reference id 恢复个性化数据 但在 JSON 中 当我有金额或电子邮件时 我找不到它 我是在测试环境中 你能帮我吗 先
  • 编辑 HTACCESS 文件以防止直接访问特定文件夹中的特定文件

    我试图阻止直接访问子文件夹中的特定文件 我意识到这个论坛上有很多描述类似问题的主题 但是 我的似乎有点尴尬 由于我已经存在 HTACCESS 文件 这是文件的文件路径 www example com PRINCIPAL PROJECTS m
  • PHP - 类外 use 关键字和类内 use 关键字的区别

    伙计们 美好的一天 只是想问一下有什么区别use之外的class and use在 的里面class 我也用谷歌搜索过 但我的问题与答案不匹配 Example namespace App Http Controllers Auth use
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • WordPress 包含 SVG 文件错误

    我使用 PHP 和 WordPress 在本地主机上 我可以毫无问题地包含 SVG 文件 但在实时服务器上 我尝试包含一个 SVG 文件以便能够使用 CSS 对其进行样式设置 我收到此错误消息 Parse error syntax erro
  • 通过标识引用对象的标准方法(例如循环引用)?

    JSON 中是否有通过身份引用对象的标准方法 例如 具有大量 可能是循环 引用的图形和其他数据结构可以被合理地序列化 加载吗 Edit 我知道做一次性解决方案很容易 列出图中所有节点的列表 然后 我想知道是否有一个标准的 通用的解决方案来解
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 使用 API 和curl (POST/PATCH) 将视频上传到 Vimeo

    据我了解 可以使用curl来发出POST和PATCH请求 POST https gist github com subfuzion 08c5d85437d5d4f00e58 https gist github com subfuzion 0
  • PHP递归遍历对象树[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户

随机推荐

  • 重复命令 while true 或 x 次(相当于 while/for 循环)

    我想尽可能多地重复这个命令sometext在该领域note 表中的几行itemNotes可以有一个或多个sometext在该领域note UPDATE itemNotes SET note SUBSTR note 0 INSTR LOWER
  • 在php中计算数组[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如果我使用count 在我的 php 脚本中 值是zero还计数变量返回1 为什么 Why php count values always
  • 如何使用Python http.client PUT方法上传二进制/视频文件?

    我正在 Python 3 6 2 中使用 HTTP client 与 API 进行通信 为了上传文件 需要三个阶段的过程 我已经成功地使用 POST 方法进行了交谈 并且服务器按我的预期返回了数据 然而 需要上传实际文件的阶段是 PUT 方
  • Java 8方法参考使用示例

    我正在查看一个示例 该示例从与方法引用相关的当前目录中提取隐藏文件数组 如下所述 using 匿名内部类执行 File hiddenFiles new File listFiles new FileFilter public boolean
  • 在 Silverlight 5 中合并 ResourceDictonaries 中使用样式

    我的 app xaml 中有很多样式 它们都在 SL5 应用程序的页面中使用得很好 我想将这些样式移至多个资源词典 以使其更易于管理和使用 首先 我将样式复制到项目中 Styles ButtonStyles xaml 页面中的新资源字典中
  • 如何从 Dart/Flutter 中的泛型函数调用命名构造函数

    我希望能够从通用函数内部构造一个对象 我尝试了以下方法 abstract class Interface Interface func int x class Test implements Interface Test func int
  • 显示光标下的文本

    当鼠标指针放置在元素上时 我想显示一些文本 例如 如果您将光标放在对某个答案的赞成票上 它会显示 此答案很有用 您可以在下图中看到它 我什至不知道如何搜索这个 Add a title属性 https developer mozilla or
  • 无法使用服务帐户授权连接到自己的 GAE 端点 API

    我一直在拼命尝试成功授权对我使用 OAuth2 和服务帐户从 python 脚本运行的 Google App Engine GAE 项目的 API 访问 我创建了服务帐户 将服务帐户 ID 添加到 api 文件中允许的客户端 ID 将私钥从
  • 从 Swagger 规范生成 nodejs

    所以我已经使用 swagger 编辑器记录了我的整个 API 现在我有了我的 yaml 文件 我真的很困惑我现在如何接受它并生成整个 Nodejs 内容 以便所有这些函数都已经定义 然后我只需用适当的代码填充它们 Swagger 代码生成器
  • 如何使用 ActiveRecord 将 DISTINCT ON 与 mysql 一起使用

    想要所有不同用户的所有最新访问 为此 我使用下面的查询 Event order time desc select DISTINCT ON user id user id time 出现 SQL 语法错误 ActiveRecord State
  • 如何在 Ansible 的 lineinfile 模块中的正则表达式中转义 1 个或多个空格?

    我正在使用 Ansible 在文件上设置一些变量lineinfile模块 我遇到的问题是如何拥有一个足够灵活的正则表达式以在字符串中间包含一些空格 请看下面 name Set DB IP in db conn file lineinfile
  • 使用正则表达式、组捕获和反向引用查找和替换

    我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作 并使用组捕获 以便我可以在替换中反向引用组 我的理解是从this https stackoverflow com question
  • 如何在任意长度的sparql路径中使用Union/or?

    我使用下面的查询从 DBPedia 本体中查找具有城市域 或城市超类 或国家范围 或国家超类 的所有属性 当我使用固定长度的路径时没有问题但是当我把 要定义任意长度的路径 我收到此错误 Virtuoso 37000 错误 SP031 SPA
  • flutter 中的自定义时间轴视图

    我正在尝试制作自定义时间线视图 面临文本和圆圈对齐的问题 The Code Widget orderTimeLine return Container decoration BoxDecoration color Colors white
  • 数组类型 char[] 不可分配[重复]

    这个问题在这里已经有答案了 这是我的第一篇文章 我一直在尝试做这个选择选择的事情 我希望用户只选择数字而不是输入它们 更容易 但是当我希望数字等于字符串时 它会说 数组类型char 30 不可分配 即使在后面我是否放了分号 include
  • 在 SSMS 中快,在应用程序中慢 - 为什么这个数据集需要这么长时间才能填充?

    我有一个数据集 它是通过查询填充的 如下所示 SELECT DISTINCT ColA ColB ColC ColD ColE ColF dbo CustomFunction ColA AS ColG FROM TableA JOIN Vi
  • Laravel 邮件:传递字符串而不是视图

    我想使用 laravel 发送一封确认电子邮件 laravel Mail send 函数似乎只接受系统上文件的路径 问题是我的邮件模板存储在数据库中而不是系统上的文件中 如何将纯文本内容传递到电子邮件 Example content Hi
  • JSON 到 CSV 转换 (JavaScript):如何正确设置 CSV 转换格式

    我想将 JSON 响应转换为 CSV 格式 我能够弄清楚如何正确生成标头 将密钥的父项附加在一起以生成正确的标头 我遇到的问题是构造与每一行相对应的数据 例如 假设我将这些列称为id tags and friends id 接此案为id 1
  • scala 和 python 之间的 API 兼容性?

    我读了十几页文档 似乎是 我可以跳过学习 scala 部分 API完全用python实现 我不需要学习scala 交互模式与 scala shell 一样完整 快速 并且故障排除同样简单 像 numpy 这样的 python 模块仍然会被导
  • PHP Facebook Graph API 和完整或更大尺寸的帖子图像

    进行了一些搜索 但没有任何结果或者是旧的并且不起作用 我正在使用 graph api 获取 facebook 帖子并在我的网站上对其进行格式化 URL curl json 正在运行 但是 图片默认返回最小的 130x130 版本 我在每个帖