2

我正在使用 Instasharp 库与 Instagram 进行通信。在传递所需参数并建立身份验证链接后。系统显示页面未找到的画面(应该是 Instagram Authentication Page for login)

我的代码如下

*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 网站上显示页面未找到错误。请注意下面给出的图片

未找到 Instagram 页面

请告知是否有人以前遇到过类似的情况。

4

1 回答 1

2

今天,当我尝试使用Instasharp Library构建“Hello World”MVC5 Web 应用程序时遇到了同样的问题。

项目主页上的Getting Started链接似乎已经过时,并且在一些地方有不正确的文本和代码,包括身份验证部分(您的代码也失败了)。

我为此提出了一个问题,并将与项目所有者合作更新文档。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 登录页面。登录后,我的 Callback url(我已设置为http://localhost:51524/Callback)立即使用 调用code,然后我将其作为参数发送以获取Oauth响应。

于 2015-08-20T06:13:13.353 回答