Hướng dẫn sử dụng Instagram API với Instagram Login (phần 1)

4 min read

Lời nói đầu

API Instagram với Instagram Login cho phép các account Instagram professional bao gồm businesses và creators account sử dụng ứng dụng của bạn để quản lý sự hiện diện của họ trên Instagram. API có thể được sử dụng để:

  • Messaging – Gửi và nhận tin nhắn với khách hàng hoặc những người quan tâm đến tài khoản Instagram của họ
  • Comment moderation – Quản lý và trả lời bình luận trên phương tiện truyền thông của họ
  • Content publishing – Nhận và xuất bản nội dung (ảnh/video) của họ
  • Mentions – Xác định nội dung mà họ đã được người dùng Instagram khác đề cập @username

Lưu ý: API này không yêu cầu phải liên kết Trang Facebook với Instagram professional account.

Giới hạn: API này không thể truy cập quảng cáo, thông tin chi tiết hoặc gắn thẻ.

Giờ thì hãy đến với bước tạo Meta app trên facebook developer nhé!

Tạo Meta App

Trước khi bắt đầu bạn hãy truy cập vào Facebook Developer và đăng nhập nếu chưa đăng nhập nhé

Bước 1: Tạo ứng dụng

Bạn hãy ấn nút tạo app (create app) ở góc trên cùng bên phải

Đến bước điền thông tin:

  • Hồ sơ doanh nghiệp: Chọn Tiếp
  • Trường họp sử dụng: Chọn Khác -> Tiếp
  • Loại: Chọn Kinh doanh -> Tiếp
  • Chi tiết: Điền tên ứng dụng, email -> Tạo ứng dụng

Chúc mừng, vậy là bạn đã tạo được 1 ứng dụng rồi đó!!!

Bước 2: Thiết lập Instagram

Bạn hay chọn Thiết lập để thêm Instagram vào ứng dụng nhé!!!

Sau đó bạn dẽ được điều hướng tới màn hình tùy chỉnh, ở đây bạn sẽ tùy chỉnh thiết lập API

Bạn hãy thiết lập các thông tin như

  • Tạo mã truy cập
  • Cấu hình webhook (nếu cần)
  • Thiết lập tính năng đăng nhập cho doanh nghiệp trên Instagram

Lưu ý: bạn phải thiết lập URI chuyển hướng OAuth, để khi đăng nhập Instagram thành công, FB sẽ gửi code lên param của URI, code này được sử dụng như nào, mình sẽ nói tiếp vào phần sau nhé.

Bước 3: Tạo Login URL

Login URL sẽ có dạng như sau:

https://www.instagram.com/oauth/authorize?client_id=97563852873&redirect_uri=https://my.m.redirect.net/&response_type=code&scope=business_basic%2Cbusiness_manage_messages%2Cbusiness_manage_comments%2Cbusiness_content_publish

Tại đây bạn sẽ phải thay sửa đổi các mục sau

  • client_id: bạn sẽ lấy ở phần Thiết lập tính năng đăng nhập cho doanh nghiệp trên Instagram
  • redirect_uri
  • scope

Ví dụ:

Mình sẽ tạo URL như sau:

https://www.instagram.com/oauth/authorize?client_id=1217870836116148&redirect_uri=https://anhptncc.github.io/batman/&response_type=code&scope=instagram_business_basic%2Cinstagram_business_manage_messages%2Cinstagram_business_manage_comments%2Cinstagram_business_content_publish

Nhập lên website, nhập tài khoản Instagram, chấp thuận truy cập quyền ứng dụng, Instagram sẽ trả lại 1 1 URL mới:

https://anhptncc.github.io/batman/?code=AQD5jC18yorWIDT1nAZtH-lGyzLjK8JG0WA6cb1PbaQqYFzRq7zdeyT023o8CP_MY579vzC3QCd9tamNfiWcAdBrjp6T_ya5aDwQEGaYlbyQ3X4f0Jit00McGkVWFlLrv6B_sh3kpLSdwXUHQrwqBjHNKS1OZYn1CE6TjDbj--jBjEy_Gk7wmaieT6IwcNeIeX_6XVymTxrauH3A4SMlVRumLRvQtlxC7vj4vGoohb-Tzw#_

Như các bạn thấy thì callback URL của mình sẽ có thêm 1 param code, nhưng khi lấy giá trị bạn nhớ bỏ “#_” ở cuối đi nhé, nghĩa là code của mình sẽ là:

AQD5jC18yorWIDT1nAZtH-lGyzLjK8JG0WA6cb1PbaQqYFzRq7zdeyT023o8CP_MY579vzC3QCd9tamNfiWcAdBrjp6T_ya5aDwQEGaYlbyQ3X4f0Jit00McGkVWFlLrv6B_sh3kpLSdwXUHQrwqBjHNKS1OZYn1CE6TjDbj--jBjEy_Gk7wmaieT6IwcNeIeX_6XVymTxrauH3A4SMlVRumLRvQtlxC7vj4vGoohb-Tzw

Bước 4: Đổi code lấy token

Bạn chỉ cần tạo 1 request truyền lên các params client_id, client_secret, grant_type, redirect_uri và quan trọng nhất là code vừa lấy được ở bên trên.

curl -X POST https://api.instagram.com/oauth/access_token \
  -F 'client_id=<YOUR_INSTAGRAM_APP_ID>' \
  -F 'client_secret=<YOUR_INSTAGRAM_APP_SECRET>' \
  -F 'grant_type=authorization_code' \
  -F 'redirect_uri=https://<YOUR_REDIRECT_URI>/' \
  -F 'code=<CODE>'

Sau khi request thành công, bạn sẽ nhận được thứ quý giá nhất của 1 user, đó là access token

{
  "data": [
    {
      "access_token": "<THE_ACCESS_TOKEN>", 
      "user_id": "<INSTAGRAM_APP_SCOPED_USER_ID>",
      "permissions": "<LIST_OF_GRANTED_PERMISSIONS>"
    }
  ]
}

Tuy nhiên, access token này chỉ có thời hạn là 1 ngày thôi, vì thế mà chúng ta sẽ phải làm thêm 1 bước nữa, đó là đổi sang long lived token

Bước 5: Lấy long-lived access token

Vẫn như trên, bạn sẽ tạo 1 request truyền lên grant_type, client_secret và access token vừa nhận được

curl -i -X GET "https://graph.instagram.com/access_token
  ?grant_type=ig_exchange_token
  &client_secret=<YOUR_INSTAGRAM_APP_SECRET>
  &access_token=<VALID_SHORT_LIVED_ACCESS_TOKEN>"

Và kết quả của request là

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

Với long-lived token sẽ có thời hạn lên tới 60 ngày, khi gần hết thời hạn bạn cần phải tạo 1 request refresh để lấy 1 long-lived token mới.

curl -i -X GET "https://graph.instagram.com/refresh_access_token
  ?grant_type=ig_refresh_token
  &access_token=<LONG_LIVED_ACCESS_TOKEN>"

Vậy là kết thúc phần 1 mình đã hướng dẫn các bạn lấy được access token của 1 user instagram rồi đó, với access token này chúng ta có thể request được nhiều thông tin từ users, mình sẽ hướng dẫn tiếp ở phần 2 nhé.

Hướng dẫn sử dụng Instagram API với Instagram Login (phần 2) – coming soon

Avatar photo

Leave a Reply

Your email address will not be published. Required fields are marked *