我们有一个Web API(ASP.net& C#)项目,它收集来自所有四个不同社交网站(facebook,twitter,youtube和instagram)的最近帖子(由我们的组织),并将它们作为json feed传递给网站和移动设备应用.
幸运的是,Facebook和Twitter都提供了Oauth“client_credentials”流程,当我向客户端ID,客户端密钥和授权类型为“client_credential”的“令牌端点”发出POST请求时,我可以获取令牌,如下所示:
https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials
但我不确定如何解决Instagram API,因为它没有提供“client_credentials”流程.由于令牌检索需要在函数内的后端进行,而无需在Web浏览器中进行显式身份验证.
有人解决了这个问题吗?
最佳答案 如果你只想阅读Instagram帖子.
我知道这有点晚了,但我正在研究类似的应用程序,我在这里阅读了一篇关于如何获取Instagram帖子的帖子(stackoverflow).我无法记下原帖的链接,所以我只是在这里重写帖子.如果我找到原始帖子,我会在这里添加链接.如果有人发现,请在评论中添加.
Instagram帖子可以通过您的用户名和此网址获得:
https://www.instagram.com/YOUR_USER_NAME/media
例如:https://www.instagram.com/NBA/media.
这会返回一个帖子列表,不确定多长时间.但它返回了我的20个帖子.它也有’“more_available”:true,’因此应该可以获得更多.
得到这个的C#代码:
string username = "<YOUR_USER_NAME>";
string url = "https://www.instagram.com/"+ username + "/media/";
HttpWebRequest instaRequest = WebRequest.Create(url) as HttpWebRequest;
//optional
HttpWebResponse instaResponse = instaRequest.GetResponse() as HttpWebResponse;
string rawJson = new StreamReader(instaResponse.GetResponseStream()).ReadToEnd();
JObject InstagramJsonFeeds = JObject.Parse(rawJson);
// Loop through JObject and get the details
foreach (var Property in InstagramJsonFeeds["items"])
{
var ImageUrl = Property["images"]["standard_resolution"]["url"].ToString();
DateTime DTime = new DateTime(1970, 1, 1).AddSeconds(double.Parse(Property["created_time"].ToString()));
// Etc Etc ......
}
如果这有帮助,请告诉我.
如何使用CURL:
http://blog.eezgu.com/2017/03/how-to-get-latest-images-from-instagram.html