我在wordpress主题中构建了一个instagram小部件。现在我想做一个网站演示,我想用我的访问令牌显示着名的Instagram作者的一些内容。但似乎我只能用我的访问令牌和用户ID显示我自己的Instagram提要。为什么?是ins改变其API?我看到themeforest上的一些作者仍然可以显示着名ins作者的不同Instagram feed。你能教我怎么做吗?
答案 0 :(得分:0)
第一个问题。是的,Instagram restricted access
在Instagram平台上创建的每个新应用都在Sandbox中启动 模式。此模式下的应用可以使用任何API端点,但仅限于此 数量有限的用户和媒体。这非常适合开发和使用 测试你的应用程序。
要进入直播并完全访问Instagram内容,您需要提交 您的审查和批准申请。审核后,您将只会 能够向用户请求您的应用程序所属的权限范围 批准。因此,您的应用程序可能无法使用 某些API端点,除非审核了相应的权限 并批准。
但您可以使用?__a=1
参数调用带有Web版本的Feed。在这种情况下,你收到了json。你需要编写一些代码:
$otherPage = 'nasa';
$profileUrl = "https://www.instagram.com/$otherPage/?__a=1";
$iterationUrl = $profileUrl;
$tryNext = true;
$limit = 100;
$found = 0;
while ($tryNext) {
$tryNext = false;
$response = file_get_contents($iterationUrl);
if ($response === false) {
break;
}
$data = json_decode($response, true);
if ($data === null) {
break;
}
$media = $data['user']['media'];
$found += count($media['nodes']);
var_dump($media['nodes']);
if ($media['page_info']['has_next_page'] && $found < $limit) {
$iterationUrl = $profileUrl . '&max_id=' . $media['page_info']['end_cursor'];
$tryNext = true;
}
}
如果您只需要一个Feed中的12个媒体,那么您的代码可以更简单(没有while
)。在这两种情况下,都使用$media
将Feed保存在您的存储空间中,然后将其显示在您的网页上。
答案 1 :(得分:0)
请浏览Instagram Feed wordpress插件 https://wordpress.org/plugins/evm-social-gallery/ ,对于wordpress网站的Instagram Feed。