使用 Windows 服务或控制台应用程序获取 access_token。对于 Instagram Api

Get access_token using Windows Service's or Console App. for Instagram Api

我的 windows 服务是从 instagram api 收集 instagram 数据。我使用的是 client_id 但此使用格式已被删除。

Instagram api 想要 access_token 但 Oauth 2.0 是基于网络的。还是不?

我使用 .NET,我的应用程序类型是 windows 服务和 Web 请求不起作用,因为此调用 url:“https://www.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code”还有一个包含重定向。所以 web 响应没有包含我的 web 应用程序 link 自动重定向也打开了..

我该怎么办?

谢谢..

获取 Instagram 访问令牌的步骤 在 Instagram 帐户中注册您的应用程序。 获取客户端 ID 和客户端密码。

第 1 步:点击以下 url。

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code

第 2 步:点击 url 上方后,您将被带到登录页面。输入登录凭据并从地址栏中获取 code。 我猜它只会直播 20 秒。

第 3 步:您获得的 code 将其放在下面源代码的 CODE 参数中,然后 运行 下面的代码在控制台应用程序中 n 命中断点回复。您将获得 访问令牌和用户 ID

    public void GetDataInstagramToken()
    {
        try
        {
            NameValueCollection parameters = new NameValueCollection();
            parameters.Add("client_id", "CLIENT-ID");
            parameters.Add("client_secret", "CLIENT-Secret");
            parameters.Add("grant_type", "authorization_code");
            parameters.Add("redirect_uri", "REDIRECT-URI");
            parameters.Add("code", "CODE");

            WebClient client = new WebClient();
            var result = client.UploadValues("https://api.instagram.com/oauth/access_token", "POST", parameters);
            var response = System.Text.Encoding.Default.GetString(result);

            // deserializing nested JSON string to object  
            var jsResult = (JObject)JsonConvert.DeserializeObject(response);
            string accessToken = (string)jsResult["access_token"];
        }
        catch (Exception)
        {
           //exception catch
        }
    }