On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.

Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.

Visit our News for Developers blog post to learn more.

Bắt đầu

Hướng dẫn này sẽ chỉ cho bạn cách đặt cấu hình ứng dụng trong Bảng điều khiển ứng dụng, lấy Mã truy cập ngắn hạncủa người dùng Instagram, rồi dùng mã đó để truy vấn API cho trang cá nhân của người dùng Instagram. Khi xem xong hướng dẫn này, bạn sẽ nắm được thông tin cơ bản về cách lấy mã truy cập và quyền từ người dùng ứng dụng, cũng như cách thực hiện các truy vấn cơ bản bằng API.

Hướng dẫn này giả định rằng bạn có thể thực hiện các yêu cầu cURL cơ bản bằng công cụ dòng lệnh hoặc ứng dụng như Postman.

Trước khi bạn bắt đầu

Bạn sẽ cần:

Bước 1: Tạo một ứng dụng trên Facebook

Truy cập vào developers.facebook.com, nhấp vào Ứng dụng của tôi rồi tạo ứng dụng mới và chọn loại ứng dụngNgười tiêu dùng hoặc Không.

Sau khi tạo ứng dụng và truy cập vào Bảng điều khiển ứng dụng, hãy chuyển đến phần Cài đặt > Cơ bản, cuộn đến cuối trang rồi nhấp vào Thêm nền tảng.

Chọn Trang web, thêm URL của trang web và lưu các thay đổi. Bạn có thể thay đổi nền tảng vào lúc khác nếu muốn, nhưng đối với hướng dẫn này, hãy sử dụng Trang web.

Bước 2: Đặt cấu hình Instagram Basic Display

Nhấp vào Sản phẩm, tìm sản phẩm Instagram Basic Display rồi nhấp vào Thiết lập để thêm sản phẩm này vào ứng dụng của bạn.

Cuộn xuống cuối trang rồi nhấp vào Tạo ứng dụng mới.

Trong biểu mẫu xuất hiện, hãy hoàn thành từng phần bằng cách làm theo hướng dẫn bên dưới.

Tên hiển thị

Nhập tên của ứng dụng mà bạn vừa tạo trên Facebook.

URI chuyển hướng OAuth hợp lệ

Nhập URL trang web của bạn. Thông thường, đây là URI chuyên dụng có thể thu thập các thông số chuỗi truy vấn chuyển hướng. Tuy nhiên, đối với hướng dẫn này, bạn có thể dùng URL trang web của mình.

Ví dụ: https://socialsizzle.heroku.com/auth/

Sau khi bạn nhập URL, hãy lưu các thay đổi rồi kiểm tra lại URL. Chúng tôi có thể đã thêm một dấu gạch chéo lên ở cuối tùy thuộc vào cấu trúc URL của bạn. Sao chép URL hoàn chỉnh vào nơi nào đó vì bạn sẽ cần đến URL này ở các bước sau để nhận mã truy cập và mã ủy quyền.

Bỏ ủy quyền URL gọi lại

Nhập lại URL của trang web. Cuối cùng, bạn sẽ thay đổi URL này thành một URL có thể xử lý thông báo bỏ ủy quyền. Nhưng theo mục đích của hướng dẫn này, bạn có thể tái sử dụng URL trang web của mình.

URL gọi lại yêu cầu xóa dữ liệu

Nhập URL trang web của bạn một lần nữa. Cũng như trường Bỏ ủy quyền URL gọi lại, cuối cùng bạn sẽ thay đổi URL này thành một URL có thể xử lý yêu cầu xóa dữ liệu. Nhưng hiện tại, bạn có thể tái sử dụng URL trang web của mình.

Xét duyệt ứng dụng

Hiện tại, hãy bỏ qua phần này bởi vì bạn sẽ không chuyển ứng dụng sang Chế độ chính thức trong quá trình làm theo hướng dẫn này.

Bước 3: Thêm người dùng thử nghiệm Instagram

Chuyển đến Vai trò > Vai trò và cuộn xuống phần Người dùng thử Instagram. Nhấp vào Thêm người dùng thử Instagram và nhập tên người dùng của tài khoản Instagram rồi gửi lời mời.

Mở một trình duyệt web mới và truy cập www.instagram.com rồi đăng nhập tài khoản Instagram mà bạn vừa gửi lời mời. Chuyển đến (Biểu tượng trang cá nhân) > Chỉnh sửa trang cá nhân > Ứng dụng và trang web > Lời mời người dùng thử rồi chấp nhận lời mời.

Tài khoản Instagram của bạn hiện đã đủ điều kiện để ứng dụng trên Facebook truy cập khi ứng dụng này đang ở Chế độ phát triển.

Bước 4: Xác thực người dùng thử nghiệm

Tạo URL Cửa sổ ủy quyền ở bên dưới, thay {app-id} bằng ID ứng dụng Instagram của bạn (từ Bảng điều khiển ứng dụng > Sản phẩm > Instagram > Basic Display > trường ID ứng dụng Instagram) và {redirect-uri} bằng URL trang web mà bạn cung cấp ở Bước 2 ("URI chuyển hướng OAuth hợp lệ"). URL này phải giống hệt.

https://api.instagram.com/oauth/authorize
  ?client_id={app-id}
  &redirect_uri={redirect-uri}
  &scope=user_profile,user_media
  &response_type=code

Ví dụ:

https://api.instagram.com/oauth/authorize
  ?client_id=684477648739411
  &redirect_uri=https://socialsizzle.herokuapp.com/auth/
  &scope=user_profile,user_media
  &response_type=code

Mở cửa sổ trình duyệt mới và tải URL Cửa sổ ủy quyền. Cửa sổ này phải xuất hiện và hiển thị tên người dùng Instagram, tên ứng dụng và phần mô tả các quyền mà ứng dụng đang yêu cầu.

Xác thực người dùng thử nghiệm Instagram bằng cách đăng nhập vào Cửa sổ ủy quyền, rồi nhấp vào Ủy quyền để cấp cho ứng dụng quyền truy cập vào dữ liệu trên trang cá nhân của bạn. Khi đã thành công, trang sẽ chuyển bạn đến URI chuyển hướng mà bạn đưa vào trong bước trước đó rồi thêm Mã ủy quyền. Ví dụ:

https://socialsizzle.herokuapp.com/auth/?code=AQDp3TtBQQ...#_

Lưu ý rằng #_ đã được thêm vào cuối URI chuyển hướng, chứ không nằm trong mã. Sao chép mã (không có #_ portion) để bạn có thể sử dụng trong bước tiếp theo.

Mã ủy quyền là mã ngắn hạn và chỉ có hiệu lực trong 1 giờ.

Bước 5: Đổi mã này lấy mã truy cập

Mở công cụ dòng lệnh hoặc ứng dụng hỗ trợ yêu cầu cURL rồi gửi yêu cầu POST sau đây đến API.

curl -X POST \
  https://api.instagram.com/oauth/access_token \
  -F client_id={app-id} \
  -F client_secret={app-secret} \
  -F grant_type=authorization_code \
  -F redirect_uri={redirect-uri} \
  -F code={code}

Thay {app-id}, {app-secret}, {redirect-uri}{code} bằng ID ứng dụng trên Instagram, khóa bí mật của ứng dụng trên Instagram, URI chuyển hướng của bạn và mã chúng tôi đã gửi cho bạn. Đảm bảo URI chuyển hướng của bạn khớp chính xác với URI mà bạn đã chỉ định trong bước trước đó, bao gồm các dấu gạch chéo phía trước và sau cùng nếu Bảng điều khiển ứng dụng đã thêm các dấu này khi bạn cấu hình ứng dụng của mình trên Instagram.

Ví dụ:

curl -X POST \
  https://api.instagram.com/oauth/access_token \
  -F client_id=684477648739411 \
  -F client_secret=eb8c7... \
  -F grant_type=authorization_code \
  -F redirect_uri=https://socialsizzle.herokuapp.com/auth/ \
  -F code=AQDp3TtBQQ...

Nếu thành công, API sẽ trả về đối tượng được mã hóa JSON chứa Mã truy cập ngắn hạn của người dùng Instagram (có hiệu lực trong 1 giờ) và ID của người dùng thử nghiệm trên Instagram:

{
  "access_token": "IGQVJ...",
  "user_id": 17841405793187218
}

Sao chép mã truy cập và ID người dùng để bạn có thể sử dụng trong bước tiếp theo.

Bước 6: Truy vấn nút Người dùng

Dùng ứng dụng hoặc công cụ dòng lệnh và yêu cầu cURL bên dưới để truy vấn nút Người dùng cho ID người dùng và tên người dùng của bạn. Thay {user-id}{access-token} bằng ID và mã truy cập mà bạn đã nhận được ở bước trước.

curl -X GET \
  'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'

Ví dụ:

curl -X GET \
  'https://graph.instagram.com/17841405793187218?fields=id,username&access_token=IGQVJ...'

Ngoài ra, bạn có thể truy vấn nút Tôi để kiểm tra mã truy cập của mình, xác định ID người dùng Instagram đã cấp mã truy cập và truy vấn Người dùng đó. Ví dụ:

curl -X GET \
  'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'

Khi đã thành công, API sẽ phản hồi kèm theo ID người dùng và tên người dùng của bạn trên Instagram:

{
  "id": "17841405793187218",
  "username": "jayposiris"
}

Bước tiếp theo

Giờ đây, bạn đã biết cách lấy mã truy cập và thực hiện truy vấn cơ bản, hãy đọc hướng dẫn của chúng tôi để tìm hiểu thêm về điều bạn có thể làm với API.