Как мне получить доступ к Monica HQ API с помощью Python? - PullRequest
0 голосов
/ 09 апреля 2019

У меня возникли проблемы с доступом к API для Monicahq.com.Я очень молодой разработчик, и в настоящее время я изучаю, как использовать GET-запросы для извлечения данных из веб-приложения с использованием Python.

Я просмотрел некоторые онлайн-руководства, и стало ясно, что мне нужно использовать пакет «запросов», а также предоставить свой токен доступа (который я получил).Я просто не уверен, какой код написать.Это то, что у меня есть:

import requests

response = requests.get('https://app.monicahq.com/settings/api', headers={'authorization': 'Token XXXXXX'})

print(response.text)

Все, что я получаю, это html-страница для Моники.Я думаю, что проблема может быть в том, что я не использую правильную ссылку, но я не уверен, какую именно ссылку я должен использовать для подключения к серверу?И тогда как я получу JSON для напоминаний, которые у меня есть на моем счете?Документация по API здесь, если это кому-нибудь поможет.https://www.monicahq.com/api/reminders

Извините, если это вопрос супер-новичка, но это то, чем я являюсь сейчас, и вся помощь будет принята!

1 Ответ

0 голосов
/ 10 апреля 2019

Этот API кажется действительно отвратительным, но я думаю, что это работает.

import requests
from bs4 import BeautifulSoup as bs
import json

url=r'https://monicahq.com/api/reminders'
headers={
'Authorization': 'Bearer XXXXXXXXX'
}
#get response
r=requests.get(url,headers=headers)
#make soup
soup=bs(r.text,'html.parser')
#extract json out of mess of html
j=json.loads(soup.find('code',{'class':'json'}).text)
#now j is the json object
print(j)
>{'data': [{'id': 2,
   'object': 'reminder',
   'title': 'Wish happy birthday to Danny',.....

Документация устарела или есть какая-то другая проблема, я никогда не мог заставить API возвращать только json, как он говорит, что будет.

Я также рекомендую вам удалить ключ API из вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...