我们有一个Web API(ASP.net& C#)项目,它收集来自所有四个不同社交网站(facebook,twitter,youtube和instagram)的最新帖子(由我们的组织)并将其作为json feed传递给网站和移动应用。
幸运的是,Facebook和Twitter都提供了Oauth" client_credentials"当我向"令牌端点"发出POST请求时,允许我获取令牌的流程客户端ID,客户端密钥和授权类型为" client_credential"如下图所示:
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浏览器中进行显式身份验证。
有没有人解决过这个问题?
答案 0 :(得分:1)
我在旧项目中的表现。我只是检查访问令牌仍然可用。如果没有打开iframe或popup来获取新的。所以你的大型机不需要刷新。
retrieving Instagram access_token via api in c# a
您需要始终公开提供此功能 任何认证的人。如果令牌过期,则需要弹出令牌 再次登录身份验证视图。这是一种糟糕的身份验证方法,而我 真的希望他们提供完整的OAuth2身份验证握手 可以通过GET完成。但他们没有,这就是为什么所有的第三个 您看到的派对应用程序会在您之后显示“授权”页面 登录.-- brandonscrip
答案 1 :(得分:1)
如果您只是想阅读Instagram帖子。
我知道这有点晚了,但我正在研究类似的应用程序,我在这里阅读了一篇关于如何获取Instagram帖子的帖子(stackoverflow)。我无法记下原帖的链接,所以我只是在这里重写帖子。如果我找到原始帖子,我会在这里添加链接。如果有人发现,请在评论中添加。
可以借助您的用户名和此网址获取Instagram帖子: https://www.instagram.com/YOUR_USER_NAME/media 例如:https://www.instagram.com/NBA/media。
这会返回一个帖子列表,不确定多长时间。但它返回了我的20个帖子。它还有'更多可用":真实,'所以应该可以获得更多。
获得此代码的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