#python #python-requests #blogger #google-blogger-api
Вопрос:
Я пытаюсь немного автоматизировать написание своего блога с помощью 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
правильно использовать учетные данные?
Ответ №1:
Я нашел это руководство Раджашекара Джангама (ImRaj90) очень информативным.
Я последовал за ним и сумел работать со своим блогом, используя API.
Спасибо тебе, Раджашекар.