如何将Google Blogger API的HTTP请求转为Python代码并解决404错误
解决Blogger API Python POST请求404错误的问题
你当前的Python代码存在URL构造错误,把认证令牌、请求体都错误拼接进了URL路径,导致服务器无法识别请求端点,返回404。下面是修正后的代码,完全匹配你在Sandbox中成功的HTTP请求格式:
修正后的Python代码
import requests # 替换为你的实际参数 BLOG_ID = "206150456" API_KEY = "[YOUR_API_KEY]" ACCESS_TOKEN = "[YOUR_ACCESS_TOKEN]" # 正确的API端点URL url = f"https://blogger.googleapis.com/v3/blogs/{BLOG_ID}/posts?key={API_KEY}" # 请求头,匹配Sandbox中的HTTP头 headers = { "Authorization": f"Bearer {ACCESS_TOKEN}", "Accept": "application/json", "Content-Type": "application/json" } # 请求体,用字典格式更易维护,requests会自动转为JSON payload = { "title": "A new post", "content": "With <b>exciting</b> content..." } # 发送POST请求,使用json参数传递请求体 response = requests.post(url, headers=headers, json=payload) # 打印响应结果 print(response.status_code) print(response.json())
错误原因解析
你之前的代码犯了三个关键错误:
- 错误地将认证令牌(
auth)添加到URL路径中,正确做法是放在Authorization请求头里 - 把请求体(
payload)直接拼到URL末尾,请求体应该作为POST请求的正文发送,而非URL的一部分 - URL域名使用了
www.googleapis.com,而正确的Blogger API域名是blogger.googleapis.com
修正后,代码完全遵循Sandbox中的HTTP请求格式:
- URL对应
POST https://blogger.googleapis.com/v3/blogs/[BLOG_ID]/posts?key=[API_KEY] - 请求头包含
Authorization、Accept和Content-Type - 请求体以JSON格式作为正文发送
内容的提问来源于stack exchange,提问作者anvilpark
相关产品推荐
相关产品推荐

