通过 Instagram API 访问 public Instagram 内容而不会使 accesstoken 过期
Accessing public Instagram content via Instagram API without expiring accesstoken
我想显示 public 与特定主题标签相关的 instagram 内容(一切正常)但我无法在每次过期时更新 access_token
。
("do not assume your access_token is valid forever." -
https://www.instagram.com/developer/authentication/)
手动续订不是一个选项,我必须确保在任何时候都存在有效的 access_token
而无需重新验证。
有什么想法或问题吗? :)
我有一个想法,但没有 API(和 access_token
)。您可以使用 ?__a=1
参数向网页版 Instagram 发出请求。我不知道它会工作多久,但现在有工作流程:
- 例如,您想显示 public 带有标签
space
的内容。
- 将其添加到 url 并添加 GET 参数
?__a=1
: https://www.instagram.com/explore/tags/space/?__a=1
- 发出 GET 请求。它 returns
json
的节点在 top_posts
(8) 和 media
(18) 中。每个节点有owner
、caption
、评论和点赞数。但最重要的部分在 thumbnail_src
和 display_src
.
media
对象中有 page_info
有助于对结果进行分页。您需要 end_cursor
(例如 J0HWE9rjAAAAF0HWE9qvgAAAFiYA
)
- 将
end_cursor
中的值添加到 url:https://www.instagram.com/explore/tags/space/?__a=1&max_id=J0HWE9rjAAAAF0HWE9qvgAAAFiYA
- 重复 3-6 以获取带有特定主题标签的最新帖子。
更新为 ?__a=1 url 参数。这似乎已停止与用户“/account/?__a=1”端点一起工作。:(显然仍然适用于标签。
Instagram 关闭了他们的 public API。 PHP 中有一个快速而肮脏的解决方法:
<?php
function getPublicInfo($username) {
$url = sprintf("https://www.instagram.com/$username");
$content = file_get_contents($url);
$content = explode("window._sharedData = ", $content)[1];
$content = explode(";</script>", $content)[0];
$data = json_decode($content, true);
return $data['entry_data']['ProfilePage'][0];
}
不确定它能工作多久。 Javascript.
的一个
我想显示 public 与特定主题标签相关的 instagram 内容(一切正常)但我无法在每次过期时更新 access_token
。
("do not assume your access_token is valid forever." - https://www.instagram.com/developer/authentication/)
手动续订不是一个选项,我必须确保在任何时候都存在有效的 access_token
而无需重新验证。
有什么想法或问题吗? :)
我有一个想法,但没有 API(和 access_token
)。您可以使用 ?__a=1
参数向网页版 Instagram 发出请求。我不知道它会工作多久,但现在有工作流程:
- 例如,您想显示 public 带有标签
space
的内容。 - 将其添加到 url 并添加 GET 参数
?__a=1
: https://www.instagram.com/explore/tags/space/?__a=1 - 发出 GET 请求。它 returns
json
的节点在top_posts
(8) 和media
(18) 中。每个节点有owner
、caption
、评论和点赞数。但最重要的部分在thumbnail_src
和display_src
. media
对象中有page_info
有助于对结果进行分页。您需要end_cursor
(例如J0HWE9rjAAAAF0HWE9qvgAAAFiYA
)- 将
end_cursor
中的值添加到 url:https://www.instagram.com/explore/tags/space/?__a=1&max_id=J0HWE9rjAAAAF0HWE9qvgAAAFiYA - 重复 3-6 以获取带有特定主题标签的最新帖子。
更新为 ?__a=1 url 参数。这似乎已停止与用户“/account/?__a=1”端点一起工作。:(显然仍然适用于标签。
Instagram 关闭了他们的 public API。 PHP 中有一个快速而肮脏的解决方法:
<?php
function getPublicInfo($username) {
$url = sprintf("https://www.instagram.com/$username");
$content = file_get_contents($url);
$content = explode("window._sharedData = ", $content)[1];
$content = explode(";</script>", $content)[0];
$data = json_decode($content, true);
return $data['entry_data']['ProfilePage'][0];
}
不确定它能工作多久。