Nguồn cấp dữ liệu Instagram trong trang web - sử dụng API hiển thị cơ bản của Instagram


8

Tôi đang cố gắng hiển thị nguồn cấp dữ liệu instagram (của một tài khoản cụ thể) trên trang web bằng tài liệu dành cho nhà phát triển tại https://developers.facebook.com/docs/instagram-basic-display-api/getting-started . instagram-basic-display-api dường như hỗ trợ "Lấy hình ảnh, video và album của người dùng Instagram".

Bằng tay thông qua trình duyệt, tôi có thể nhận được mã Ủy quyền bằng cách nhấp vào "Ủy quyền" trong Cửa sổ ủy quyền. Nhưng nó được đề cập trong bài đăng rằng "Mã ủy quyền chỉ tồn tại trong thời gian ngắn và chỉ có hiệu lực trong 1 giờ." Và do đó tôi không thể sử dụng lại mã ủy quyền giống nhau cho tất cả các yêu cầu và mỗi giờ tôi cần để tạo một mã mới. Có cách nào hoặc sdk javascript cho phép thực hiện yêu cầu thông qua mã (javascript) để tạo mã ủy quyền mà không cần Cửa sổ ủy quyền không?


1
Tôi đang tìm kiếm chính xác điều tương tự. Mã dễ tạo để lấy nguồn cấp dữ liệu của bạn nhưng nó yêu cầu người dùng đăng nhập - đó không phải là thứ tôi cần. Bạn đã tìm thấy một công việc xung quanh cho điều này?
Jonathan

1
tìm kiếm điều tương tự quá
wsgg

Câu trả lời:


2

Facebook sẽ cho phép bạn tạo CODE thông qua trình duyệt (GET). Sau đó, bạn sẽ cần trao đổi MÃ được đề cập cho TOKEN, nhưng bây giờ thông qua yêu cầu cURL (ví dụ: bạn có thể sử dụng POSTman). như trong Bước 5: https://developers.facebook.com/docs/instagram-basic-display-api/getting-started

Nếu bạn đang sử dụng Postman, hãy đảm bảo bạn đặt các tham số bắt buộc trong phần thân dưới dạng x-www-form-urlencoding.

Sau Bước 5, bạn có thể nhận được access_token , khi đó bạn sẽ có thể truy vấn người dùng. Đó là một TOKEN tồn tại trong thời gian ngắn.

Đối với câu hỏi của bạn , sau đó bạn sẽ có thể trao đổi mã thông báo tồn tại ngắn này thành một mã có thời gian tồn tại lâu , như trong https://developers.facebook.com/docs/instagram-basic-display-api/guides/long- truy cập mã thông báo .

Nhưng có một số cảnh báo:

  1. ứng dụng của bạn phải được cấp instagram_graph_user_profile
  2. việc trao đổi chỉ nên được thực hiện bằng mã phía máy chủ
  3. mã thông báo ngắn hạn đã hết hạn không thể được trao đổi
  4. mã thông báo tồn tại lâu chỉ trong 60 ngày, chúng cần được làm mới một lần
  5. nếu một cái hết hạn, bạn không thể làm mới nó

Người ta có thể thực hiện các yêu cầu HTTP thay vì yêu cầu cURL cho API hiển thị cơ bản mới không? Làm thế nào một người có thể sử dụng API trên thiết lập không có máy chủ như Netlify?
Brendan

Về cơ bản, bạn cần phải thực hiện một yêu cầu POST đến url api, gửi các tham số tương ứng. Không quen thuộc lắm với serverless, nhưng điều đó có thể không liên quan gì đến vấn đề này. Ví dụ, nếu ngôn ngữ ASP, người ta có thể sử dụng một đối tượng MSXML2.ServerXMLHTTP.
luiscabus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.