API Keys, Authentication, Environment Variables and Sending SMS

API Authentication

  • 인증을 요구하는 API를 사용하는 방법
  • 자신들의 서비스를 남용하는 것을 방지하기 위해 API키를 사용
  • API키를 이용하여 API를 얼마나 사용하는지 추적하고
    액세스를 승인하거나 한도를 초과하면 액세스를 거부할 수 있음



API키로 인증하고 OpenWeatherMap에서 날씨 가져오기

  • 키 받기 1


  • 코드에 적용



앞으로 12시간 안에 비가 올지 확인하기

비 내리는 곳 확인 가능한 사이트

3

4



Twilio API로 SMS보내기

Twilio site

-모든 나라에서 문자 메시지를 전송하거나 전화통화를 하거나 가상 전화번호를 사용하게 해주는 API서비스

  • 주문시스템 구축, 비디오 앱, SMS를 이메일로 보내는 등

5

6

7



PythonAnywhere로 파이썬 스크립트 자동화하기

8

9

10

  • 무료 계정이 사용하는 프록시 서버에 접속하는 방법을 twilio API에 알려줘야 함
  • pythonanywhere무료계정에는 프록시 서버만 있음

해결방법

  • TwilioHttpClient클래스를 twilio모듈로부터 import
  • if문 안에 proxy_client생성하고 매개변수 넣어주기
  • import os 모듈

11



환경변수와 API 키 감추기

12


Envionment Variables

  • 편의성 : 대형 어플리케이션을 배포할 때 프로세스가 복잡함
    일단 완성했다면 코드 베이스를 다시 손보거나 업데이트하려면 힘듦
    대신 환경변수를 변경

ex)
클라이언트에게 보내는 베이스 이메일이 매일 변경되는 어플의 경우,
코드 베이스에 사용되는 특정한 변수들을 환경변수로 설정해서
코드를 만지지 않고도 수정할 수 있음

  • 보안성 : 코드를 어딘가 업로드할 때 인증키나 API키 같은 것들을 포함하는 것은 좋지 않음
    환경변수를 사용하면 키, 비밀 정보, 다양한 다른 변수를 코드 베이스가 있는 곳과 자른 곳에 저장할 수 있게 됨
  • 등호에 띄어쓰기 없어야 함
환경변수 생성하려면 Terminal에 변수 생성하고  저장
export NAME_OF_ENV_VAR="236e****af4a6a89****f7be73"


임포트한 os모듈을 사용해 환경변수에서  불러오기
api_key = os.environ.get("NAME_OF_ENV_VAR")


추가한 환경변수 pythonanywhere에 적용시키기

12

  • python3 main.py앞에 넣어주고 세미콜론으로 마무리


API의 모든 것을 탐색해 볼 수 있는 사이트