В настоящее время у меня есть программа, которая позволяет мне создавать и публиковать информационные панели в Datadog программным способом.Используя функции API здесь , я смог успешно создавать, обновлять и удалять информационные панели, как мне угодно.Однако теперь я хотел бы извлечь скелет существующих панелей мониторинга, которые я уже создал, из Datadog, чтобы увидеть, что было добавлено или удалено.Для этого мне нужно выяснить, как отправить ключ API вместе с запросом.У меня нет проблем с получением информации о досках на более высоком уровне, но я бы хотел пойти дальше.
Это то, что я получаю, позвонив api.ScreenBoard.get_all()
{
'screenboards': [{
'read_only': <boolean>,
'resource': <resource-link>,
'description': <description>,
'created': <date>,
'title': <text>,
'modified': <date>,
'created_by': { ''' <creator information> ''' },
'id': <table-id>
}]
}
Сейчасконечная цель - просто извлечь JSON из ссылки «resource», заданной этой командой.Я пытался использовать urllib и urllib2 для объединения этой ссылки с хост-сайтом (например, https://www.foo.com/{resource-link}
), но продолжаю получать следующие результаты:
<addinfourl at 0000000000 whose fp = <socket._fileobject object at 0x000000000>>
ИЛИ
{"errors": ["API key required"]}
Код, который вызвал эту ошибку:
def getSkeleton(self):
boards = self.getAll(); # utilizing the api.ScreenBoards.get_all() function
boardList = boards['screenboards'];
for x in boardList:
url = self.target + x['resource']; # creating the JSON url
data = urllib.urlopen(url).read();
print data
Как видите, моя переменная "data" возвращает ошибку.Итак, все, что мне нужно, это выяснить, как отправить ключ API вместе с моим запросом для решения проблемы.Если кто-нибудь знает, как выполнить эту задачу, я был бы очень признателен.