1

我正在尝试通过使用Blogger API v3.0.

我有我的API_KEY,通过使用它,我设法像这样访问我的博客:

import requests

APIKEY = 'XXX-YYY-ZZZ'
BLOGID = '12345678'
get_blog = 'https://www.googleapis.com/blogger/v3/blogs/{BLOGID}?key={APIKEY}'.format(BLOGID=BLOGID, APIKEY=APIKEY)
response = requests.get(get_blog)

接下来我尝试创建一个新帖子:

params = {
  "kind": "blogger#post",
  "blog": {
    "id": BLOGID 
  },
  "title": "A new post",
  "content": "With <b>exciting</b> content..."
}

new_post = 'https://www.googleapis.com/blogger/v3/blogs/{blogID}/posts/?key={APIKEY}'.format(blogID=bereshitID, APIKEY=APIKEY)
response = requests.post(get_blog, params=params)

但我得到一个错误: {u'error': {u'status': u'PERMISSION_DENIED', u'message': u'The caller does not have permission', u'code': 403, u'errors': [{u'reason': u'forbidden', u'message': u'The caller does not have permission', u'domain': u'global'}]}}

所以我想我需要拥有 OAuth 2.0 凭据。所以我创建了它,现在我有client_id并且client_secret我尝试将它添加到参数中:

CLIENT_SECRET = 'ABCD-EFGH'
CLIENT_ID = '1111'

params = {
  "client_secret" : CLIENT_SECRET,
  "client_id" : CLIENT_ID,
  "kind": "blogger#post",
  "blog": {
    "id": BLOGID 
  },
  "title": "A new post",
  "content": "With <b>exciting</b> content..."
}

new_post = 'https://www.googleapis.com/blogger/v3/blogs/{blogID}/posts/?key={APIKEY}'.format(blogID=bereshitID, APIKEY=APIKEY)
response = requests.post(get_blog, params=params)

但是我仍然像以前一样收到错误。

显然我在这里遗漏了一些东西,但我找不到解决方案......那么我应该如何OAuth 2.0正确使用凭据?

4

1 回答 1

0

我发现Rajashekar Jangam (ImRaj90) 的这本指南内容丰富。

我遵循它并设法使用 API 处理我的博客。

谢谢拉贾谢卡尔。

于 2021-07-14T14:43:07.560 回答