如何将 OAuth 2.0 凭据与博主 api v3 一起使用python 请求

问题描述

我正在尝试使用 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'domain': u'global'}]}}

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

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

params = {
  "client_secret" : CLIENT_SECRET,"client_id" : CLIENT_ID,"kind": "blogger#post",params=params)

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

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

解决方法

我发现 Rajashekar Jangam (ImRaj90) 的这篇 guide 非常有用。

我关注了它并设法使用 API 处理我的博客。

谢谢拉贾舍卡尔。