我的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"还有一个包含重定向。因此,网络响应未包含我的网络应用程序链接,同时自动重定向已打开..
我该怎么办?
谢谢..
答案 0 :(得分:3)
获取instagram访问令牌的步骤 在instagram帐户中注册您的应用程序。 获取客户端ID和客户端密码。
第1步:点击以下网址。
第2步:点击上面的网址后,您将进入登录页面。输入登录凭据并从地址栏中获取代码。 我猜它会活20秒。
步骤3:代码,你把它放在下面源代码的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
}
}