인증

그래프 API와 마케팅 API는 각 API 호출에서 매개변수로 액세스 토큰을 전달해야 합니다. 이 가이드에서는 테스트 목적으로 액세스 토큰을 가져오는 방법을 알려드립니다.

인증에 대해 자세히 알아보려면 주요 문서인 Meta 테크놀로지의 액세스 토큰을 참조하세요.

이 문서에서는 다음과 같은 내용을 다룹니다.

그래프 API 탐색기

그래프 API 탐색기를 통해 테스트 사용자 액세스 토큰을 가져올 수 있습니다. 탐색기를 사용하는 방법에 대해 알아보려면 그래프 API 탐색기 가이드를 참조하세요.

사용자 액세스 토큰 얻기

  1. 그래프 API 탐색기로 이동합니다.
  2. Facebook 앱에서 액세스 토큰을 얻는 데 사용하는 앱을 선택합니다.
  3. 사용자 또는 페이지에서 사용자 토큰을 선택합니다.
  4. 권한에서 ads_read를 확인합니다.
  5. 액세스 토큰 생성을 클릭합니다. 버튼 상단의 상자는 액세스 토큰으로 채워집니다.
  6. 나중에 사용할 것이므로 이 토큰을 저장합니다.

디버그하기

방금 생성한 토큰에 대한 자세한 내용을 확인하려면 토큰 전에 표시되는 i 버튼을 클릭하세요. 버튼을 클릭하면 팝업 화면이 열리고 토큰에 대한 일부 기본 정보가 표시됩니다. 액세스 토큰 도구에서 열기를 클릭하면 액세스 토큰 디버거로 리디렉션됩니다.

액세스 토큰 디버거에 직접 액세스하고 생성한 토큰을 텍스트 상자에 붙여넣을 수도 있습니다.

디버그하는 동안 다음 항목을 확인하세요.

  • 앱 ID: 필수 요건 섹션에서 언급된 앱 ID.
  • 만료 시간: 타임스탬프. 단기 실행 토큰은 1~2시간 이내에 만료됩니다.
  • 범위: 그래프 API 탐색기에 추가된 권한을 포함합니다.

액세스 토큰 연장

  1. 그래프 API 탐색기를 사용하여 액세스 토큰을 얻기 위한 모든 단계를 완료합니다.
  2. 토큰을 복사합니다. 액세스 토큰 디버거에서 텍스트 상자에 붙여넣습니다.
  3. 액세스 토큰 디버거에서 페이지 하단까지 아래로 스크롤합니다.
  4. 액세스 토큰 연장을 클릭하여 장기 실행 토큰을 얻습니다. 나중에 사용할 수 있도록 이 토큰을 복사합니다.

액세스 토큰 디버거를 사용하여 새로운 토큰의 속성을 확인합니다. 60일 또는 무기한 등과 같이 만료 시간이 더 길게 연장되어 있을 것입니다. 장기 실행 액세스 토큰을 참조하세요.

시스템 사용자 액세스 토큰 사용

시스템 사용자 액세스 토큰은 비즈니스 관리자에서 자산을 관리하고 마케팅 API를 호출할 목적으로 생성된 계정인 시스템 사용자 계정과 연결된 액세스 토큰 유형입니다. 시스템 사용자 액세스 토큰은 인증할 사용자가 없는 서버 간 상호작용에 유용합니다. 시스템 사용자 액세스 토큰은 비즈니스 데이터를 읽고 쓰거나, 광고 캠페인 및 기타 광고 개체를 관리하는 등과 같이 비즈니스를 대신하여 작업을 수행하는 데 사용할 수 있습니다.

시스템 사용자 액세스 토큰을 사용할 때의 장점 한 가지는 만료 기한이 없어서 그래프 API에 액세스해야 하는 장기 실행 스크립트나 서비스에서 사용할 수 있다는 것입니다. 또한 시스템 사용자 계정은 특정 개인과 연결되어 있지 않기 때문에 Facebook에서 개인 활동과 비즈니스 활동을 분리하는 데 사용할 수 있습니다.

게다가 시스템 사용자 토큰은 장기 실행 사용자 액세스 토큰에 비해 다른 이유로 무효화될 가능성이 더 낮습니다.

수동으로 토큰 가져오기

권한 확장을 요구했을 때 사용자가 허용 버튼을 클릭하면 redirect_uri 매개변수 값과 인증 코드가 포함된 URL로 이동하게 됩니다.

http://YOUR_URL?code=<AUTHORIZATION_CODE>

토큰을 가져올 엔드포인트, 앱 ID, 사이트 URL, 앱 시크릿 코드 및 방금 수신한 인증 코드를 포함하여 URL을 다음과 유사한 형식으로 작성합니다. 이 URL은 다음과 유사합니다.

https://graph.facebook.com/<API_VERSION>/oauth/access_token?
  client_id=<YOUR_APP_ID>
  &redirect_uri=<YOUR_URL>
  &client_secret=<YOUR_APP_SECRET>
  &code=<AUTHORIZATION_CODE>

응답에는 사용자에 대한 액세스 토큰을 포함해야 합니다.

  • 서버측 인증 플로를 거칠 경우 영구 토큰을 가져옵니다.
  • 클라이언트측 인증 플로를 거칠 경우 1~2시간 동안만 유효한 토큰을 가져옵니다. 확장 토큰용 그래프 API 엔드포인트를 호출하면 이 토큰을 영구 토큰으로 교체할 수 있습니다.

비즈니스의 시스템 사용자가 API를 호출하는 경우 시스템 사용자 액세스 토큰을 사용할 수 있습니다.

액세스 토큰 디버거 또는 프로그래밍 방식 인증 API를 사용하여 액세스 토큰을 디버깅하고, 만료 시간을 확인하고, 부여된 권한을 검증할 수 있습니다.

토큰 저장

토큰은 후속 API 호출에 사용하기 위해 데이터베이스에 안전하게 저장해야 합니다. 사용자 계정의 보안을 위해 클라이언트와 서버 간 토큰 이동은 HTTPS를 통해 안전하게 수행해야 합니다. 클라이언트와 서버 간에 토큰을 이동하는 경우 미치는 영향에 대해 자세히 읽어보세요.

토큰의 유효성을 정기적으로 확인하고 필요한 경우 사용자에게 권한을 요청해야 합니다. 다음을 비롯하여 일부 경우에 따라 영구 토큰도 무효화될 수 있습니다.

  • 사용자의 비밀번호 변경
  • 사용자의 권한 취소

사용자 액세스 토큰은 언제든 어떤 이유로 무효화하거나 취소할 수 있으므로 앱에서 이를 예상하고 사용자에게 권한을 다시 요청하는 플로가 필요할 수 있습니다. 사용자가 웹 앱을 시작하는 경우 해당 사용자에 대한 토큰 유효성을 검증합니다. 필요 시 인증 플로를 통해 업데이트된 토큰을 가져오도록 메시지를 보냅니다.

앱에서 이와 같은 방법이 불가능할 경우 다른 방법으로 사용자에게 권한을 요청해야 합니다. 예를 들어 API 호출이 사용자 인터페이스에서 직접 트리거되지 않거나 정기적으로 실행 스크립트에 의해 이뤄지는 경우가 이에 해당합니다. 이 문제를 해결하려면 사용자에게 지침을 첨부한 이메일을 보낼 수 있습니다.