我一直在尝试使用 Instagram API 在 Instagram 上发布 reels。然而,到目前为止我的尝试都没有成功。
我一直在关注 developers.facebook.com
上的文档页面这部分是我直接从开发人员仪表板完成的。我获得的令牌具有以下权限:
对于这部分,我正在按照文档的说明进行操作。
def create_instagram_media_container(ig_id: str, video_url: str, access_token: str):
url = f"https://graph.instagram.com/v20.0/{ig_id}/media"
headers = {
"Content-Type": "application/json",
}
data = {
"media_type": "REELS",
"video_url": video_url
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
return response.json()
else:
response.raise_for_status()
通过此步骤我可以获得容器 ID。
注意:在线阅读材料后,我尝试了一些变化,包括在标题中添加
"Authorization": f"OAuth {access_token}"
和在数据中添加 "upload_type": "resumable"
,但这并没有解决问题。
我再次遵循文档。
def upload_instagram_video(ig_id: str, ig_container_id: str, access_token: str):
url = f"https://graph.instagram.com/v20.0/{ig_id}/media_publish"
headers = {
"Content-Type": "application/json"
}
data = {
"creation_id": ig_container_id,
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
return response.json()
else:
response.raise_for_status()
然而,在这个阶段,我收到错误。
起初我有以下描述:
b'{"error":{"message":"Unsupported post request. Object with ID \'[...]\' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https:\\/\\/developers.facebook.com\\/docs\\/graph-api","type":"GraphMethodException","code":100,"error_subcode":33,"fbtrace_id":"AKe1_Gl1c5kNSTrKHPYuyHG"}}'
但现在我只收到 400 错误,指出“抱歉,此内容现在不可用”。
注意:在网上阅读材料后,我也尝试在此处的标题中添加
"Authorization": f"OAuth {access_token}"
,但这并没有解决它。
对于混乱可能来自何处,我有一些想法,但我并没有真正设法从中得到任何东西。
graph.instagram.com
端点,但还有一个graph.facebook.com
。这看起来更完整一点,因为文档提到了标题等额外字段,但我也没有设法让它工作。我认为我仍然应该选择 Instagram 的,因为文档指出“与具有 Facebook 登录功能的 Instagram API 不同,此 API 不需要链接到 Instagram 专业帐户的 Facebook 页面。”这看起来更简单。连续尝试了几天后,我现在完全迷失了。我们将非常感谢您的帮助。谢谢!
这个错误目前还没有修复,我想每个人都有这个错误。 此错误已报告给meta本身: https://developers.facebook.com/community/threads/1819400801919840/