使用 python 创建字段时无法验证 Airtable API

Trouble authenticating Airtable API while creating a field with python

[新手问题]

我正在尝试使用 python 3 在我的 Airtable 基地创建新记录。 文档中的curl命令如下:

$ curl -v -XPOST https://api.airtable.com/v0/restoftheurl \
-H "Authorization: Bearer My_API_Key" \
-H "Content-type: application/json" \
 -d '{
  "fields": {
    "Item": "Headphone",
    "Quantity": "1",
    "Customer_ID": [
      "My_API_Key"
    ]
  }
}'

我尝试使用的 python 代码是:

import requests

API_URL = "https://api.airtable.com/v0/restoftheurl"

data = {"Authorization": "Bearer My_API_Key","Content-type": 
"application/json","fields": {"Item": "randomitem","Quantity": 
"5","Customer_ID": ["randomrecord"]}}

r = requests.post(API_URL, data)
print(r.json())

响应是错误的地方:

{'error': {'type': 'AUTHENTICATION_REQUIRED', 'message': 'Authentication required'}}

我应该如何正确验证这个,或者我是这样的?

您需要区分 body(数据)和 headers。使用 json 命名参数自动将内容类型设置为 application/json :

import requests

API_URL = "https://api.airtable.com/v0/restoftheurl"

headers = {
    "Authorization": "Bearer My_API_Key"
}

data = {
    "fields": {
        "Item": "randomitem",
        "Quantity": "5",
        "Customer_ID": ["randomrecord"]
    }
}

r = requests.post(API_URL, headers=headers, json=data)
print(r.json())