Instagram v1用户媒体API是否废弃?TYPO3 11站点如何获取Ins内容
问题描述
我正在使用Instagram API,希望将个人Ins照片与Reel内容展示在自行开发的TYPO3 11版本网站上。调用API地址https://api.instagram.com/v1/users//media/recent/?access_token=时出现如下PHP警告:
PHP Warning: file_get_contents(https://api.instagram.com/v1/users//media/recent/?access_token=): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in controller
请问该API是否已废弃?如何解决此问题以获取Ins媒体内容?
问题分析与解决方案
1. 旧API已完全废弃
你调用的/v1/users//media/recent/属于Instagram Legacy API,该API早在2020年就已停止服务,所有请求都会返回404状态码,这是报错的直接原因。
2. 官方替代方案:Instagram Graph API
目前唯一支持获取Instagram个人媒体内容的官方接口是Instagram Graph API,操作步骤如下:
- 将你的Instagram个人账号转为创作者或商家账号,并关联到Facebook开发者平台的应用
- 申请
instagram_basic和pages_show_list权限,获取有效的长期访问令牌 - 使用正确的API端点获取内容:
- 获取全部媒体(照片+Reel):
GET /{ig-user-id}/media - 仅筛选Reel内容:
GET /{ig-user-id}/media?filter_type=REELS
- 获取全部媒体(照片+Reel):
3. TYPO3 11适配建议
- 替换
file_get_contents为TYPO3内置的\TYPO3\CMS\Core\Http\RequestFactory,它提供更稳定的HTTPS请求处理、超时控制和错误捕获,符合TYPO3开发规范 - 实现令牌的缓存与自动刷新逻辑,避免因令牌过期导致请求失败
- 利用TYPO3的缓存框架缓存API返回数据,防止频繁请求触发API速率限制
- 将API交互逻辑封装为独立的Service类,便于在控制器或Fluid模板中调用
内容的提问来源于stack exchange,提问作者Parmar Kamalnayan
相关产品推荐
相关产品推荐

