【Python】 Qiita API 자격 증명이 OS 환경 변수에 "있는 경우"세트하고 requests로 문의

결론



1. os.getenv('KEY') 는 OS에 지정된 환경 변수가 설정되어 있지 않으면 None을 반환합니다.


os.getenv(key, default=None) 의 형식 때문에, 제 2 인수의 default 에 무언가 세트 되고 있는 경우는 제외한다.

2. Qiita API는 요청 헤더가 비어있는 {}에서도 요청을 수락합니다.



이것은 처음에 빈 dict를 요청 헤더로 사용합니다.
  • 환경 변수에 액세스 토큰 (인증 정보)이 설정되어 있지 않은 경우 : 그대로 미 인증으로
  • 세트 되어 있으면: Authorization 키를 dict 에 세트 해 인증 완료로 .

    API를 사용할 수 있다.

    요청 코드 예제



    사용자 정보 얻기 GET /api/v2/users/:user_id을 사용해보십시오.
    액세스 토큰 의 지정 방법은 Bearer 의 뒤에 계속하면 좋기 때문에 캐릭터 라인을 결합하는 것만으로 OK입니다.
    import requests
    import os
    
    # tokenの読み込み
    qiita_token = os.getenv('QIITA_TOKEN')
    qiita_request_header = {}
    if qiita_token:
        print("環境変数の QIITA_TOKEN で認証します")
        qiita_request_header = {'Authorization': 'Bearer ' + qiita_token}
    
    api_url = 'https://qiita.com/api/v2/users/ysd_marrrr'
    result = requests.get(api_url, headers=qiita_request_header)
    
    # ヘッダー
    print(result.headers)
    
    # レート
    print('残り {} 回 / {}'.format(result.headers['rate-remaining'], result.headers['rate-limit']))
    
    # ボディ
    print(result.text)
    

    자격 증명을 설정하는 방법



    Qiita의 [설정] -> [응용 프로그램] -> [개인 액세스 토큰]의 "새로운 토큰 발행"에서 자격 증명을 가져옵니다.

    # 이 예라면 read_qiita 의 스코프만으로 충분합니다.



    bash


    export QIITA_TOKEN="tokentokentoken"
    

    파이썬


    import os
    os.environ.set('QIITA_TOKEN', 'tokentokentoken')
    
  • 좋은 웹페이지 즐겨찾기