장기 실행 액세스 토큰

기본적으로 Threads 사용자 액세스 토큰은 단기 실행되고 1시간 동안 유효합니다. 그러나 단기 실행 토큰을 장기 실행 토큰으로 교환할 수 있습니다.

장기 실행 토큰은 60일 동안 유효하고 앱 사용자가 앱에 threads_basic 권한을 부여했다면 24시간 이상 경과한 시점부터 만료되지 않은 시점 사이에 언제든 새로 고침할 수 있습니다. 새로 고침한 토큰은 새로 고침된 날짜로부터 60일 동안 유효합니다. 60일 이내에 새로 고침되지 않은 토큰은 만료되고 더 이상 새로 고침할 수 없습니다.

이제 비공개 Threads 프로필의 장기 실행 액세스 토큰을 새로 고침할 수 있습니다. 또한 이제 비공개 프로필을 가진 앱 사용자가 앱에 부여한 권한이 90일 동안 유효합니다.

제한 사항

  • 만료된 단기 실행 토큰은 장기 실행 토큰으로 교환할 수 없습니다. 사용자의 토큰이 만료된 경우 새 토큰을 받은 다음에 장기 실행 토큰으로 교환하세요.
  • 장기 실행 토큰에 대한 요청에는 앱 시크릿 코드가 포함되어 있으므로 절대 클라이언트 측 코드 또는 역컴파일될 수 있는 앱 바이너리에서 호출하지 말고 서버 측 코드에서만 호출해야 합니다. 다른 사람에게 앱 시크릿 코드를 공유하거나 코드에 노출하거나 클라이언트에 전송하거나 기기에 저장하지 마세요.

장기 실행 토큰 가져오기

GET /access_token 엔드포인트를 사용하여 단기 실행 Threads 사용자 액세스 토큰을 장기 실행 토큰으로 교환합니다. 장기 실행 토큰이 있으면 이를 서버 측 요청에 사용하거나 클라이언트로 전송하여 사용할 수 있습니다.

다음을 포함하여 서버 측에 요청을 보내야 합니다.

  • 유효한(만료되지 않은) 단기 실행 Threads 사용자 액세스 토큰.
  • Threads 앱 시크릿 코드(앱 대시보드 > 앱 설정 > 기본 > Threads 앱 시크릿 코드)입니다.

매개변수

요청을 보강하기 위해 다음 쿼리 문자열 매개변수를 포함합니다.

이름설명

client_secret

문자열

필수.
Threads 앱 시크릿 코드. 앱 대시보드 > 앱 설정 > 기본 > Threads 앱 시크릿 코드 필드에 표시됩니다.

grant_type

문자열

필수.
th_exchange_token으로 설정하세요.

access_token

문자열

필수.
장기 실행 토큰으로 교환하고자 하는 유효한(만료되지 않은) 단기 실행 Threads 사용자 액세스 토큰입니다.

요청 샘플

curl -i -X GET "https://graph.threads.net/access_token
  ?grant_type=th_exchange_token
  &client_secret=<THREADS_APP_SECRET>
  &access_token=<SHORT_LIVED_ACCESS_TOKEN>"

응답 샘플

{
  "access_token": "<LONG_LIVED_USER_ACCESS_TOKEN>",
  "token_type": "bearer",
  "expires_in": 5183944  // number of seconds until token expires
}

장기 실행 토큰 새로 고침

GET /refresh_access_token 엔드포인트를 사용하여 만료되지 않은 장기 실행 Threads 액세스 토큰을 새로 고침합니다. 장기 실행 토큰을 새로 고침하면 다시 60일간 유효하게 됩니다. 60일 이내에 새로 고침되지 않은 장기 실행 토큰은 만료됩니다.

요청에는 다음과 같은 항목을 포함해야 합니다.

  • 유효한(만료되지 않은) 장기 실행 Threads 사용자 액세스 토큰입니다.

매개변수

이름설명

grant_type

문자열

필수.
th_refresh_token으로 설정하세요.

access_token

문자열

필수.
새로 고침하고자 하는 유효한(만료되지 않은) 장기 실행 Threads 사용자 액세스 토큰입니다.

요청 샘플

curl -i -X GET "https://graph.threads.net/refresh_access_token
  ?grant_type=th_refresh_token
  &access_token=<LONG_LIVED_ACCESS_TOKEN>"

응답 샘플

{
  "access_token": "<LONG_LIVED_USER_ACCESS_TOKEN>",
  "token_type": "bearer",
  "expires_in": 5183944 // number of seconds until token expires
}