我实际上只需要公共帐户的关注者数量,例如https://www.instagram.com/kygomusic/
新的 Instagram 的 API 规则非常严格(并经过讨论): 现在大多数常见应用程序都无法访问公共内容。您需要一个未授予普通应用程序的 public_content 范围(?!)
public_content:此权限 (public_content) 仅授予使品牌、广告商、广播公司和发布商能够发现公共内容的应用程序。我们不会授予对不属于这些类别的应用程序的访问权限。请查看我们的文档 ( https://www.instagram.com/developer/review ) 了解更多信息。
一个选项是使用file_get_contents() (PHP) 并且它可以工作,但是它从我的服务器加载了所有站点并且它非常繁重。所以我的第一个想法是使用YQL。我将它用于 Twitter 并且运行良好,但是当我从 Instagram 抓取数据时,我什么也没得到:
我一直在尝试在我的 Web 应用程序中使用 Instagram API 的服务器端身份验证。我已经按照Intagram's API Page提供的步骤操作,但我不断收到错误消息you must provide a client_id。代码写在 node/express.js 中。这是我的代码。
PS:请不要建议我使用 istagram-node API。
索引.js
var bodyParser = require('body-parser');
var express = require('express');
var app = express();
var https = require('https');
var session = require('express-session');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static(__dirname+'/public'));
app.use(session({
secret: process.env.SECRET,
resave: true,
saveUninitialized: false
}))
app.set('port',process.env.PORT);
app.get('/',function(req,res){
res.render('index')
});
app.get('/home',function(req,res){
req.session.code = req.query.code;
var data = JSON.stringify({
client_id: process.env.CLIENT_ID,
client_secret: process.env.CLIENT_SECRET,
grant_type: "authorizaton_code",
redirect_uri: "...",
code: req.session.code
})
var options = { …Run Code Online (Sandbox Code Playgroud) 我正在使用以下网址搜索带有标记的帖子,该网址返回带有所有最新帖子的Json,但它只返回用户ID,而不是用户名.
https://www.instagram.com/explore/tags/neymar/?__a=1
我想知道是否有办法在不使用官方API和传递用户ID的情况下检索Instagram个人资料的用户名.
我试图找到一种方法从 Python 中的用户名 ID 获取 Instagram 用户名。到目前为止我发现的是:
https://api.instagram.com/v1/users/[USER-ID]?access_token=[YOUR-ACCESS-TOKEN]
Run Code Online (Sandbox Code Playgroud)
我有一个令牌号,但它只适用于添加到沙箱的用户。对于其他用户,我收到以下错误:
{"meta": {"code": 400, "error_type": "APINotFoundError", "error_message": "this user does not exist"}}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我正在寻找解决方案数小时,但没有运气。有没有办法在不使用令牌的情况下达到相同的结果?
非常感谢!
我知道这个 api 正在努力获取图像,但是视频呢?
https://www.instagram.com/username/?__a=1
我能够获得视频的缩略图,但无法获得来源或网址本身。
我希望我的应用程序查询带有特定主题标签的 Instagram 帖子。看起来这可以用@mentions 来完成,但不要用#hashtags 来完成。我错过了什么吗?我不确定我是想获取所有带有主题标签的帖子,还是只是通过身份验证的用户发布带有该主题标签的帖子。但是当有人用这个#hashtag 发帖时,我需要得到新的帖子。有没有办法用 Instagram API 做到这一点?
我想我的计划 B 可能是创建一个 instagram 用户并让人们 @mention 用户而不是使用主题标签。然后我的应用程序可以作为该用户进行身份验证并进行定期轮询。
在 Instagram 登录页面上,如果检查 url ' https://www.instagram.com/accounts/web_create_ajax/ ' 的 POST 调用元素,则会列出以下内容作为标头:
Host: www.instagram.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.instagram.com/
X-CSRFToken: 7dmO9F3JuVGvSXumd79yByPxnHoWHz1A
X-Instagram-AJAX: c2d8f4380025
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Content-Length: 102
Cookie: csrftoken=7dmO9F3JuVGvSXumd79yByPxnHoWHz1A; mid=W30zsQAEAAErXHJ3iUojfTceCd53; mcd=3; csrftoken=7dmO9F3JuVGvSXumd79yByPxnHoWHz1A; rur=FTW
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人知道它X-Instagram-AJAX是什么以及我每次如何生成它。它与 成对连接吗X-CSRFToken?谢谢。
我正在尝试通过Instagram基本显示API恢复访问令牌,但是在尝试对测试用户进行身份验证时出现此错误:
{
"error_type": "OAuthException",
"code": 400,
"error_message": "Invalid platform app"
}
Run Code Online (Sandbox Code Playgroud)
我希望看到应用授权屏幕
我正在使用 SkyBrud ( https://social.skybrud.dk/instagram/ ) 并且通常在 Umbraco/ASP .net 站点中使用此 API 设置 Instagram。该网站会将图像从 Instagram 显示到我的网站,该网站通过在 Instagram 上生成的 API 密钥连接并在我刚刚链接的服务中使用它们。
最近我决定创建一个新帐户(Insta)以获取一些 Instagram API 密钥。在第一步之后,我看到“注册已禁用”并且无法继续获取 API 密钥。
根据上面的网站,我得到了不再支持的愿景。然后我遇到了如何找到 Instagram 开发人员支持?有类似的问题,但有些人通过移动应用程序对其进行了排序,我认为这很奇怪,而其他答案与 Android 相关,因此认为它不适用于我。
然后我阅读了指向 Facebook https://developers.facebook.com/docs/instagram-basic-display-api/getting-started 的其他链接,但我不知道这一步是否是让现有功能正常工作的正确步骤起来又快?
方向太多了,所以我不确定该走哪条路来获取 API?
我正在尝试获取 Instagram 帖子的 json。获取数据的网址:
$url = "https://www.instagram.com/p/" . $_GET['media'] . "/?__a=1";
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中得到这个url 时 - 一切正常,json 返回。顺便说一句,浏览器未登录到 Instagram。但是当我使用 curl 或file_get_contents($url);它返回 http 代码 302 时,标题为“位置”到登录页面。
代码示例:
$url = "https://www.instagram.com/p/" . $_GET['media'] . "/?__a=1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json') );
$data = curl_exec($ch);
curl_close($ch);
var_dump($data);
Run Code Online (Sandbox Code Playgroud)
也许应该修改 curl 选项以使其看起来像浏览器。
我尝试了与浏览器中相同的标题,包括 cookie,但没有运气,这似乎是不可能的。我已经使用这个 hack 编写了页面,最近停止工作了。使用 API 意味着重写所有内容,因为响应的数据是不同的。
instagram-api ×10
instagram ×6
php ×3
javascript ×2
json ×2
python ×2
api ×1
c# ×1
curl ×1
express ×1
facebook ×1
https ×1
node.js ×1
python-2.7 ×1
python-3.x ×1
umbraco7 ×1
yql ×1