Instagram api 响应 asp.net 中的数据数组为空
Instagram api response with empty data array in asp.net
我正在尝试使用经过身份验证的访问 token.returns 空数据从 Instagram API 访问媒体使用主题标签。我正在使用这个 URL: https://api.instagram.com/v1/media/{tag name}?access_token={verified access token} 这就是我的结果receiving: {"pagination": {}, "meta": {"code": 200}, "data": []} 因为它有一个 200 return 代码,访问令牌有效。那么,为什么我看不到任何喜欢的帖子?
我在沙盒用户中添加了另一个用户,但 return 的数据为空。
该怎么办?请帮助我!
[我的 C# 代码]
static string code = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request["code"]) && !Page.IsPostBack)
{
code = Request["code"];
GetDataInstagramToken();
}
}
public void GetDataInstagramToken()
{
var json = "";
try
{
NameValueCollection parameters = new NameValueCollection();
parameters.Add("client_id", ConfigurationManager.AppSettings["client_id"]);
parameters.Add("client_secret", ConfigurationManager.AppSettings["client_secret"]);
parameters.Add("grant_type", "authorization_code");
parameters.Add("redirect_uri", ConfigurationManager.AppSettings["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);
var jsResult = (JObject)JsonConvert.DeserializeObject(response);
string accessToken = (string)jsResult["access_token"];
Int64 id = Convert.ToInt64(jsResult["user"]["id"]);
var clientid = ConfigurationManager.AppSettings["client_id"];
Page.ClientScript.RegisterStartupScript(this.GetType(), "GetToken", "<script>var ClientId=\"" + @"" + clientid + "" + "\";var instagramaccessid=\"" + @"" + id + "" + "\"; var instagramaccesstoken=\"" + @"" + accessToken + "" + "\";</script>");
}
catch (Exception ex)
{
throw;
}
我的js代码
函数 GetSearchMedia() {
var seachText = document.getElementById('Search').value;
$.ajax({
type: "GET",
async: true,
contentType: "application/json; charset=utf-8",
url: 'https://api.instagram.com/v1/tags/' + seachText + '/media/recent?access_token=' + instagramaccesstoken,
dataType: "jsonp",
cache: false,
beforeSend: function () {
$("#loading").show();
},
success: function (data) {
debugger
for (var i = 0; i < data["data"].length; i++) {
$("#ImageUL").append("<li><img src=" + data.data[i].images.standard_resolution.url + "></li>");
}
}
});
}
</script>
如果您和您的沙盒用户 post 已经 post 使用您正在查找的主题标签使用 API 编辑了一张照片,您将只会在 API 回复中看到他们.
因此,如果您将带有主题标签的照片添加到 instagram,然后 API 调用该主题标签,您将在 API 响应中看到您的 post <- 试试这个
我正在尝试使用经过身份验证的访问 token.returns 空数据从 Instagram API 访问媒体使用主题标签。我正在使用这个 URL: https://api.instagram.com/v1/media/{tag name}?access_token={verified access token} 这就是我的结果receiving: {"pagination": {}, "meta": {"code": 200}, "data": []} 因为它有一个 200 return 代码,访问令牌有效。那么,为什么我看不到任何喜欢的帖子? 我在沙盒用户中添加了另一个用户,但 return 的数据为空。 该怎么办?请帮助我!
[我的 C# 代码]
static string code = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request["code"]) && !Page.IsPostBack)
{
code = Request["code"];
GetDataInstagramToken();
}
}
public void GetDataInstagramToken()
{
var json = "";
try
{
NameValueCollection parameters = new NameValueCollection();
parameters.Add("client_id", ConfigurationManager.AppSettings["client_id"]);
parameters.Add("client_secret", ConfigurationManager.AppSettings["client_secret"]);
parameters.Add("grant_type", "authorization_code");
parameters.Add("redirect_uri", ConfigurationManager.AppSettings["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);
var jsResult = (JObject)JsonConvert.DeserializeObject(response);
string accessToken = (string)jsResult["access_token"];
Int64 id = Convert.ToInt64(jsResult["user"]["id"]);
var clientid = ConfigurationManager.AppSettings["client_id"];
Page.ClientScript.RegisterStartupScript(this.GetType(), "GetToken", "<script>var ClientId=\"" + @"" + clientid + "" + "\";var instagramaccessid=\"" + @"" + id + "" + "\"; var instagramaccesstoken=\"" + @"" + accessToken + "" + "\";</script>");
}
catch (Exception ex)
{
throw;
}
我的js代码 函数 GetSearchMedia() {
var seachText = document.getElementById('Search').value;
$.ajax({
type: "GET",
async: true,
contentType: "application/json; charset=utf-8",
url: 'https://api.instagram.com/v1/tags/' + seachText + '/media/recent?access_token=' + instagramaccesstoken,
dataType: "jsonp",
cache: false,
beforeSend: function () {
$("#loading").show();
},
success: function (data) {
debugger
for (var i = 0; i < data["data"].length; i++) {
$("#ImageUL").append("<li><img src=" + data.data[i].images.standard_resolution.url + "></li>");
}
}
});
}
</script>
如果您和您的沙盒用户 post 已经 post 使用您正在查找的主题标签使用 API 编辑了一张照片,您将只会在 API 回复中看到他们.
因此,如果您将带有主题标签的照片添加到 instagram,然后 API 调用该主题标签,您将在 API 响应中看到您的 post <- 试试这个