这是我正在使用的代码:
import re
import sys
import glob
import json
import requests
import os
from pprint import pprint
if len(sys.argv) > 1:
urls_json = sys.argv[1]
else:
urls_json = "enlaces.json"
with open( urls_json ) as data_file:
urls = json.load(data_file)
api_key = os.environ["BITLY_TOKEN"]
group_guid = os.environ["BITLY_USER"]
shortened_links = []
for u in urls:
payload = json.dumps({'long_url': u[1], "domain": "bit.ly", "group_guid": group_guid })
print(payload)
response = requests.post( "https://api-ssl.bitly.com/v4/shorten",
data=payload,
headers={'Authorization': f"Bearer {api_key}" } )
pprint(vars(response.raw))
pprint(vars(response.request))
Run Code Online (Sandbox Code Playgroud)
这始终会返回 403 禁止。标头是正确的,但我不太确定 group_guid;我正在使用我的用户名。我通过向 API 发出curl 请求来获取令牌。任何想法?它是否正确?
只需消除group_guid:
payload = json.dumps({'long_url': u[1], "domain": "bit.ly" })
Run Code Online (Sandbox Code Playgroud)
尽管 API 文档中明确指出作为参数之一。返回 201 表示“已创建”
| 归档时间: |
|
| 查看次数: |
4556 次 |
| 最近记录: |