我正在使用Instasharp库与Instagram进行通信。传递所需参数并构建链接以进行身份验证之后。系统显示未找到页面的屏幕(应该是登录的Instagram身份验证页面)
我的代码如下:
*var client_id = ConfigurationManager.AppSettings["instagram.clientid"].ToString();
var secret = ConfigurationManager.AppSettings["instagram.clientsecret"].ToString();
var redirect_uri = ConfigurationManager.AppSettings["instagram.redirecturi"].ToString();
var realtimeUri = "";
var scopes = new List<OAuth.Scope>();
scopes.Add(OAuth.Scope.Likes);
scopes.Add(OAuth.Scope.Comments);
var config = new InstagramConfig(client_id, secret, redirect_uri, realtimeUri);
var oauth = new OAuth(config);
var link = OAuth.AuthLink(config.OAuthUri + "/authorize", config.ClientId, config.RedirectUri, scopes, OAuth.ResponseType.Code);
Response.Redirect(link);*
请注意,变量链接的最终值如下所示
https://api.instagram.com/oauth//authorize?client_id=Client Id Goes Here&redirect_uri=Redirect URL goes here&response_type=code&scope=likes+comments
一旦应用程序尝试重定向页面,它会向我显示Instagram网站上找不到页面错误。请注意下面的图片
请告知以前是否有人遇到类似情况。
答案 0 :(得分:1)
我今天遇到同样的问题,当时我试图构建一个&#34; Hello World&#34;使用Instasharp Library的MVC5 Web应用程序。
项目主页上的使用入门链接似乎已过时,并且在一些地方包含authenticate部分(这是您的代码所在地)的文字和代码不正确也失败了)。
我已raised an issue为此,并将与项目所有者合作更新文档。同时,请注意link
变量值中的额外斜杠。
https://api.instagram.com/oauth//authorize...
所以这是代码中有问题的一行。
var link = OAuth.AuthLink(config.OAuthUri + "/authorize", config.ClientId, config.RedirectUri, scopes, OAuth.ResponseType.Code);
要解决此问题,请在此行代码中删除/
前面的authorize
。此行的正确代码如下。
var link = OAuth.AuthLink(config.OAuthUri + "authorize", config.ClientId, config.RedirectUri, scopes, OAuth.ResponseType.Code);
这对我有用。它带我到Instagram登录页面。登录后,我的回调网址(我设置为http://localhost:51524/Callback
)立即被code
调用,我随后将其作为参数发送以获得Oauth
响应。