You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python脚本调用Instagram Graph API上传图片报错求助

解决Instagram Graph API上传图片时"不支持的格式"错误

问题核心

你代码里的image_url使用的是图片托管平台的分享页面链接(https://ibb.co/WzfJmWW),而非直接指向图片文件的URL。Instagram Graph API需要读取原始图片文件才能识别格式,访问网页链接无法获取图片内容,因此返回"未知格式不支持"的错误。

修复方案

1. 获取图片的直接访问URL

打开ibb.co的图片分享页面,右键点击图片选择「复制图片地址」,得到类似https://i.ibb.co/xxxxxx/your-image.jpg的直接链接——这个链接能直接在浏览器中显示图片,而非跳转页面。

2. 修改代码中的image_url参数

替换后的完整代码示例:

import requests
import json

# 替换为你的有效访问令牌
access_token = 'xxx'
user_id = '17841442656991877'
# 替换为图片的直接URL
image_url = 'https://i.ibb.co/WzfJmWW/your-image.jpg'
caption = 'Uploaded with Instagram Graph API.'

# 创建媒体容器
media_creation_url = f'https://graph.facebook.com/v19.0/{user_id}/media'
media_params = {
    'media_type': 'IMAGE',
    'image_url': image_url,
    'caption': caption,
    'access_token': access_token
}

response = requests.post(media_creation_url, media_params)
data = json.loads(response.content)
print(json.dumps(data, indent=4))

# 恢复发布流程(如果需要)
if 'id' in data:
    media_id = data['id']
    media_publish_url = f'https://graph.facebook.com/v19.0/{media_id}/media_publish?access_token={access_token}'
    media_publish_response = requests.post(media_publish_url)
    if media_publish_response.status_code == 200:
        print("Media publish successful!")
    else:
        print("Failed to publish media:", media_publish_response.text)

额外验证点

  • 确认图片为JPG/JPEG或PNG格式,文件大小不超过8MB(Instagram Graph API的官方限制)。
  • 检查你的access_token已获取pages_show_list、instagram_basic、pages_manage_posts等必要权限。
  • 确保图片URL可公开访问(私有托管的链接会导致API无法读取图片)。

内容的提问来源于stack exchange,提问作者Jann Christopher Garcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:50:11