instagram - 查找用于 API 访问的 Instagram 用户 ID(截至 2018 年)
问题描述
问题
我在朋友的 WordPress 网站上构建了一个 Instagram 提要,以显示来自指定提要的八张最新图像。
我点击了这个端点来实现这一点:
https://api.instagram.com/v1/users/{$ig_user_id}/media/recent/?access_token={$ig_access_token}
到目前为止,我一直使用自己的测试 instagram 客户端来填充提要。
我们现在正准备上线,我试图用我朋友的 Instagram 帐户替换 Instagram 用户 ID 和访问令牌。虽然我仍然可以生成访问令牌(使用此工具@PixelUnion),但我无法再找到访问用户 ID 的方法。
这里有一个现有的 SO 线程和解决方案,它似乎不再有效:
问题
由于对 Instagram API 的明显限制,如何查找 Instagram 帐户用户 ID?(~ 2018 年中)
我的 Instagram 源代码 (PHP)
<?php
function prettify_instagram_image($image_data) {
// Plucks just what we need from the data returned from the Instagram API
$pretty_data= (object)[
"id" => $image_data->id ? $image_data->id : false,
"src_url" => $image_data->images->standard_resolution->url ? $image_data->images->standard_resolution->url : false,
"ig_link" => $image_data->link ? $image_data->link : false,
"likes" => $image_data->likes->count ? $image_data->likes->count : false,
"comments" => $image_data->comments->count ? $image_data->comments->count : false
];
return $pretty_data;
}
$ig_user_id = get_field('instagram_user_id', 'option'); // Pulling IG account info from WP Admin Options
$ig_access_token = get_field('instagram_access_token', 'option');
$ig_api_root = 'https://api.instagram.com/v1/users/';
$ig_api_method = '/media/recent/';
$images_to_display = 8;
// https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN
// Instagram API connection
$response = wp_remote_get( $ig_api_root . $ig_user_id . $ig_api_method . "?access_token=" . $ig_access_token );
// Instagram response is JSON encoded, let's convert it to an object
$instagram_response = !is_wp_error($response) ? json_decode( $response['body'] ) : false;
$instagram_images = ($instagram_response && $instagram_response->data) ? array_map("prettify_instagram_image", $instagram_response->data) : false;
?>
解决方案
我发现,只要您有访问令牌,您就可以在浏览器中执行以下请求:
https://api.instagram.com/v1/users/self?access_token=[VALUE]
实际上,访问令牌包含用户 ID(令牌的第一段):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
推荐阅读
- android - NativeScript 中的 Socket.IO 后台模式
- reactjs - 我想在点击时预览一个 base 64 格式的 excel 文件
- google-chrome - Chrome 自动播放政策 - Chrome 76
- pyspark - 如何查找一列是否包含在pyspark的另一列中
- javascript - 使用nodejs在mongodb的许多相互关联的集合中创建许多文档的最佳方法
- c - fgetc 从文件中读取错误的字符
- scala - spark-scala 中对分组数据中非键、非整数列上的数据进行排序的解决方案是什么?
- azure - Azure AD 限制未分配的受众访问应用程序
- javascript - 如何使用 JavaScript / jQuery 通过数据属性抓取元素
- amazon-web-services - 如何在某个存储桶/文件夹下模拟文件 S3 的时间戳更新