0

我需要在我的网页上显示特定 instagram 用户的图像。

如 Instagram API 文档中所述,我需要通过身份验证才能“浏览”用户的提要。

“只有在您的应用程序代表用户发出请求(评论、喜欢、浏览用户的提要等)时,我们才需要进行身份验证。” (http://instagram.com/developer/authentication/

因此,如 API 文档中所述,我向此 URL 发送了一个请求:

https://instagram.com/oauth/authorize/?display=touch&client_id=[ClientID]
&redirect_uri=[callbackuri]/&response_type=token 

被重定向到另一个 URL:http://your_redirect_uri?code=CODE能够获取 access_token (CODE) 以便能够使用它调用 instagram RESTful 服务。

问题是,如果我的网站访问者没有登录 Instagram,他/她将被转发到登录页面以首先进行身份验证,然后我才能获得访问令牌。

我的问题是:如何通过从代码隐藏(或可能通过 javascript!)使用我的应用程序的 Instagram 帐户自动登录来绕过此登录页面?

顺便说一句,我正在使用 C# 和 Instasharp( http://instasharp.org/ )。

有任何想法吗?

先感谢您!

4

1 回答 1

0

首先在 Instagram 中创建开发者应用程序并获取 consumerkey 和 consumersecret 并设置路径回调 url somthing 链接http://localhost:3104/Instagram.aspx

private void Authentication()
    {
        string rest = string.Empty;
        GlobusInstagramLib.Authentication.ConfigurationIns config = new GlobusInstagramLib.Authentication.ConfigurationIns("https://instagram.com/oauth/authorize/", ConfigurationManager.AppSettings["consumerKey"], ConfigurationManager.AppSettings["consumerSecret"], ConfigurationManager.AppSettings["callbackurl"], "https://api.instagram.com/oauth/access_token", "https://api.instagram.com/v1/", "");
        oAuthInstagram _api = oAuthInstagram.GetInstance(config);
        rest = _api.AuthGetUrl("likes+comments+basic+relationships");
        Response.Redirect(rest);
    }

在此页面上自动重定向并调用此代码

   public void Instagram()
   {
    string code = (String)Request.QueryString["code"];
    oAuthInstagram objInsta = new oAuthInstagram();
    GlobusInstagramLib.Authentication.ConfigurationIns configi = new GlobusInstagramLib.Authentication.ConfigurationIns("https://api.instagram.com/oauth/authorize/", ConfigurationManager.AppSettings["consumerKey"], ConfigurationManager.AppSettings["consumerSecret"], ConfigurationManager.AppSettings["callbackurl"], "http://api.instagram.com/oauth/access_token", "https://api.instagram.com/v1/", "");
    oAuthInstagram _api = new oAuthInstagram();
    _api = oAuthInstagram.GetInstance(configi);
    AccessToken access = new AccessToken();
    access = _api.AuthGetAccessToken(code);
    string accessToken = access.access_token;
    string id =access.user.id;

   }

您将获得令牌和用户 ID

于 2015-03-17T12:51:26.243 回答