이 문서에서는 앱으로 Instagram을 지원하는 Messenger API(개발자 정책에서는 Instagram 메시지 API라고도 알려짐)를 성공적으로 호출하고 Instagram 프로페셔널 계정 메시지를 수신하는 방법을 설명합니다. 이 문서는 그래프 API 및 Facebook 로그인에 익숙한 독자를 대상으로 합니다.
다음 항목에 액세스할 수 있어야 합니다.
MODERATE
작업을 수행할 수 있는 Meta 개발자 계정 Messenger 플랫폼을 처음 사용하는 개발자
Messenger 플랫폼을 사용한 경험이 있는 개발자
Facebook 로그인 또는 Instagram용 비즈니스 로그인을 사용하여 앱 사용자에게 필요한 권한을 요청할 수 있습니다.
Instagram용 비즈니스 로그인 플로를 사용하면 사용자가 로그인 플로 중에 다음 작업을 완료할 수 있습니다.
Instagram용 비즈니스 로그인을 구현하려면 Instagram용 비즈니스 로그인 가이드 를 방문한 다음 이 가이드로 돌아옵니다.
Facebook 개발자 계정에 로그인한 다음, 앱에 액세스하여 Facebook 로그인 모달을 트리거합니다. Facebook 개발자 계정은 쿼리하고자 하는 Instagram 계정과 연결된 Facebook 페이지에서 'Moderate' 레벨 이상의 액세스 권한으로 작업을 수행할 수 있어야 한다는 것을 기억하세요.
모달을 트리거하고 나면 확인을 클릭하여 앱에 instagram_basic
, instagram_manage_messages
및 pages_manage_metadata
권한을 부여합니다.
그러면 API가 사용자 액세스 토큰을 반환할 것입니다. 앱이 다음의 몇 가지 쿼리에서 사용할 수 있도록 토큰을 캡처합니다. 그래프 API 탐색기를 사용하고 있는 경우 토큰이 자동으로 캡처되고, 참조할 수 있도록 액세스 토큰 필드에 표시됩니다.
GET /me/accounts
엔드포인트를 쿼리합니다(GET /{user-id}/accounts
로 변환되고 액세스 토큰에 따라 Facebook 사용자 노드에 대해 GET을 실행합니다).
curl -i -X GET \ "https://graph.facebook.com/v9.0/me/accounts?access_token={access-token}"
그러면 현재 Facebook 사용자가 다음과 같이 MANAGE
, CREATE_CONTENT
, MODERATE
또는 ADVERTISE
작업을 실행할 수 있는 Facebook 페이지 컬렉션이 반환됩니다.
{ "data": [ { "access_token": "EAAJjmJ...", "category": "App Page", "category_list": [ { "id": "2301", "name": "App Page" } ], "name": "Metricsaurus", "id": "134895793791914", // capture the Page ID "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ] }
쿼리하고자 하는 Instagram 계정과 연결된 Facebook 페이지의 ID를 캡처합니다. 앱 사용자가 여러 페이지에서 작업을 수행할 수 있으므로 최종적으로는 캡처할 올바른 페이지 ID를 결정할 수 있는 로직을 도입해야 합니다(또는 앱 사용자가 본인 대신 올바른 페이지인지 식별할 수 있는 UI를 구상해야 합니다).
다양한 Instagram 메시지 API 호출을 수행하려면 이전에 FB 로그인 플로에서 부여된 해당 Instagram 프로페셔널 계정의 연결된 페이지 액세스 토큰(PAT)을 사용해야 합니다.
사용자 액세스 토큰을 사용하여 /{page-id}
엔드포인트에 GET
요청을 보냅니다. 예를 들면 다음과 같습니다.
curl -i -X GET "https://graph.facebook.com/{page-id}? fields=access_token& access_token={user-access-token}"
성공할 경우 앱에서 다음과 같은 응답을 받습니다.
{ "access_token":"{page-access-token}", "id":"{page-id}" }
장기 실행 페이지 액세스 토큰을 생성하려면 이 가이드를 참조하세요.
현재 출시 중인 이 도구는 앞으로 몇 주에 걸쳐 모든 개발자에게 출시됩니다. 앱 대시보드에서 설정이 보이지 않으면 위의 1~5단계에 따라 페이지 액세스 토큰을 생성할 수 있습니다.
또는 Instagram을 지원하는 Messenger API에 온보딩하려는 자산(Instagram 계정과 FB 페이지)을 소유한 경우 개발자 앱 대시보드에 있는 Instagram 설정 도구를 활용하여 손쉽게 페이지 액세스 토큰과 Webhooks를 설정할 수 있습니다. 개발자 앱 대시보드 → Messenger → Instagram 설정에서 도구를 찾을 수 있습니다. 기존의 토큰 및 Webhooks 구성 방법을 이용할 수도 있지만, 이 도구를 사용하면 더욱 쉽게 환경을 설정할 수 있습니다.
API를 통해 Instagram 메시지를 관리하려면 Instagram 프로페셔널 계정의 메시지 제어 설정에서 연결된 도구 토글을 활성화해야 합니다.
캡처한 페이지 ID와 페이지 액세스 토큰(PAT)을 사용하여 GET /{page-id}/conversations?platform=instagram
엔드포인트를 쿼리합니다.
curl -i -X GET \ "https://graph.facebook.com/v9.0/17841405822304914/conversations?platform=instagram&access_token={access-token}"
그러면 Instagram 사용자에 대한 모든 스레드 개체의 ID가 반환됩니다.
{ "data": [ { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTM2MDk5MDc1MzYyOTgx" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTYzMzQ2MzE5NjM1NDcy" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTk3MTY0NjI2NzAyMjMw" }, { "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MzkzNDI5MDYzMzkyNjU0" } }
이 마지막 쿼리를 성공적으로 수행할 수 있으면 모든 Instagram을 지원하는 Messenger API 엔드포인트를 사용하여 쿼리를 수행할 수 있을 것입니다. 다양한 가이드와 참고 자료를 참조하여 각 엔드포인트의 기능과 필요한 권한에 대해 알아보세요.