使用非官方Instagram API上传媒体

时间:2014-08-22 08:03:54

标签: ruby curl upload instagram

我正在编写一个按照计划将照片上传到Instagram的脚本。官方Instagram API不允许媒体上传。我发现今天唯一的解决方案是使用unofficial API。所以,我尝试使用它,但它对我的所有请求都回复了301错误。

Ruby代码:

url = 'https://instagr.am/api/v1/accounts/login/'
RestClient.post url, { username: 'username', password: 'password', device_id: '0000' }, user_agent: 'Instagram'
# RestClient::MovedPermanently: 301 Moved Permanently

或卷曲:

$ curl -k --data "username=username&password=password&device_id=0000" --header "User-Agent: Instagram" https://instagr.am/api/v1/accounts/login/
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

您能否帮助我在我的请求中发现错误或建议更好的解决方案如何将媒体上传到Instagram?

1 个答案:

答案 0 :(得分:0)

Instagram已经实施了“非官方”API请求所需的签名。如果你能找到如何生成该签名,那么你将是金色的...我已经大致了解它是如何的通过审查他们的Android版本的源代码完成,但我从来没有完全破解过程,没有时间花在它上面..

有一些第三方客户可以做到,但IG似乎非常擅长检测和删除这些照片......并经常禁止该帐户。