如何正确使用facebook api上传照片?

问题描述 投票:0回答:1

我已经阅读了文档并尝试创建一个在 facebook 上上传图像并获取其 api 的函数,但它似乎根本不起作用。 (访问令牌有权执行该请求,所以是的)

def upload_image(token, gid, image_path):
        res = requests.post(f"https://graph.facebook.com/{gid}/photos", params={"access_token": token}, files={"source": open(image_path, "rb")})
        print(res.text)
        return res.json().get("id")

奇怪的是我一直收到错误#324(需要上传文件)。

python python-3.x facebook facebook-graph-api
1个回答
0
投票

我相信正确的请求应该是这样的

url = f"https://graph.facebook.com/{gid}/photos"
files = {"file": open(image_path, "rb")}
data = {"access_token": token}

res = requests.post(url, files=files, data=data)

变化:

  1. files
    参数需要一个字典,其中键是
    "file"
    ,而不是
    "source"
  2. access_token
    通过
    data
  3. 传递
© www.soinside.com 2019 - 2024. All rights reserved.