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

在Google Colab中使用Meta Marketing API上传图片及获取哈希失败求助

解决Meta Marketing API上传图片返回空列表/无法获取图片哈希的问题

你在Google Colab中已完成Meta Marketing API身份验证,能创建广告系列、广告组,但上传图片或读取现有图片时返回空列表、无法获取哈希,可从以下几个方向排查解决:

1. 验证文件路径与Colab权限

  • 先确认共享驱动器的文件真实存在,在Colab中执行命令检查:
    !ls /content/drive/Shareddrives/Design
    
    若看不到sampleimage.png,说明路径错误或共享驱动器未正确挂载,需重新挂载Drive并确保授权账号有该共享文件夹的读取权限。

2. 修改图片上传代码逻辑

原代码直接传入本地路径无法被Meta API服务器识别(Colab的本地路径对远程API不可见),需读取文件二进制内容上传:

path = '/content/drive/Shareddrives/Design/sampleimage.png'
image = AdImage('act_5**********')

# 读取图片二进制数据
with open(path, 'rb') as f:
    image[AdImage.Field.bytes] = f.read()
# 可选设置文件名(用于后台识别)
image[AdImage.Field.filename] = 'sampleimage.png'

try:
    image.remote_create()
    image_hash = image[AdImage.Field.hash]
    print(f"图片哈希:{image_hash}")
    print(image)
except Exception as e:
    print(f"上传错误:{e}")

3. 调整图片读取代码的输出方式

get_ad_images返回的是迭代器对象,直接打印不会显示内容,需转换为列表或遍历输出:

FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
my_account = AdAccount('act_5**********')
fields = ['id','hash','name','original_height','original_width']

images = my_account.get_ad_images(fields=fields)
# 转换为列表查看实际内容
print(list(images))

4. 检查API权限与图片合规性

  • 确认你的Access Token包含ads_management、business_management权限,正式环境下需通过Meta应用审核。
  • 验证图片格式:仅支持PNG、JPG/JPEG等格式,单张图片大小不超过4MB,尺寸符合Meta广告图片规范。

内容的提问来源于stack exchange,提问作者Raunchy russo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:45:34