[python] 인증 (access_token)이있는 Python 요청

API 쿼리를 파이썬으로 가져 오려고합니다. 명령 줄

curl --header "Authorization:access_token myToken" https://website.com/id

json 출력을 제공합니다. myToken은 전체적으로 일정하게 유지되는 16 진수 변수입니다. 다른 ID를 반복하고 출력을 분석 할 수 있도록 파이썬에서이 호출을 만들고 싶습니다. 어떤 아이디어? 인증이 필요하기 전에 urllib2를 사용했습니다. 또한 requests 모듈을 살펴 보았지만 그 방법을 알 수 없었습니다.

감사합니다.



답변

요청 (패키지는 다음과 같이 정의 헤더 작품을 추가, HTTP 요청에 대한 아주 좋은 API를 가지고 공식 문서를 소스 ) :

>>> import requests
>>> response = requests.get(
... 'https://website.com/id', headers={'Authorization': 'access_token myToken'})

외부 의존성을 사용하고 싶지 않다면, 표준 라이브러리의 urllib2를 사용하는 것과 같은 것은 다음과 같습니다 ( source : the missing manual ).

>>> import urllib2
>>> response = urllib2.urlopen(
... urllib2.Request('https://website.com/id', headers={'Authorization': 'access_token myToken'})


답변

Github에서 토큰을 사용하려고 할 때 동일한 문제가 발생했습니다.

Python 3에서 나를 위해 일한 유일한 구문은 다음과 같습니다.

import requests

myToken = '<token>'
myUrl = '<website>'
head = {'Authorization': 'token {}'.format(myToken)}
response = requests.get(myUrl, headers=head)


답변

>>> import requests
>>> response = requests.get('https://website.com/id', headers={'Authorization': 'access_token myToken'})

위의 방법이 작동하지 않으면 다음을 시도하십시오.

>>> import requests
>>> response = requests.get('https://api.buildkite.com/v2/organizations/orgName/pipelines/pipelineName/builds/1230', headers={ 'Authorization': 'Bearer <your_token>' })
>>> print response.json()


답변

uncurl패키지 ( https://github.com/spulec/uncurl ) 를 사용해 보셨습니까 ? 당신은 주사위를 통해 설치할 수 있습니다 pip install uncurl. curl 요청이 반환됩니다.

>>> uncurl "curl --header \"Authorization:access_token myToken\" https://website.com/id"

requests.get("https://website.com/id",
    headers={
        "Authorization": "access_token myToken"
    },
    cookies={},
)


답변

약간의 힌트를 추가하겠습니다. 헤더의 키 값으로 전달하는 것은 인증 유형에 따라 달라집니다. 제 경우에는 PRIVATE-TOKEN

header = {'PRIVATE-TOKEN': 'my_token'}
response = requests.get(myUrl, headers=header)


답변