2012-11-16 96 views
0

我正在使用instagram API,不幸的是我有一種卡住。
完成所有設置後,我對每個調用下面方法的instagram圖像都有一個喜歡/不喜歡的按鈕。instagram api,發佈像

vote = function(type, at, mid){ 
    // type = POST or DELETE 
    // at = access_token 
    // mid = media_id 
    $.ajax({ 
     type: type, 
     dataType: "jsonp", 
     crossDomain:true, 
     url: "https://api.instagram.com/v1/media/"+mid+"/likes?access_token="+at, 
     success: function(data) { 
      console.log(data); 
     } 
    }); 
} 

它返回消息(200,OK),表明我的喜歡被計數,但實際上不計數喜歡或不喜歡。關於什麼可能導致呃逆的想法?

+0

你是說在Instagram上upvote = like?那麼什麼是downvote? – tcd

+0

對不起,是的,upvote = like,downvote = dislike,在帖子中改變了它...我需要下車reddit –

+0

你好,請告訴我你如何訪問這個終點。我需要訪問關係端點,我仍然在開發,他們不會給我訪問,我也不知道如何問他們,因爲它的跟隨和取消關注應用程序 – hadi

回答

1

如果遠程HTTP access control未另行配置,則跨域ajax請求只能爲OPTIONS類型。而Instagram不是。

所以這是服務器端的工作。向你自己的網址發送這個ajax請求,以便向Instagram發送請求(可能帶有CURL)。

如果您不需要回復,您可以「僞造」該請求。製作HTML並提交

+0

是的,我最終做了PHP請求CURL,但我真的希望我可以用阿賈克斯代替。我正在做的事情是在tumblr上進行,而tumblr真的不喜歡php那麼多,它也花了大約5倍的時間來製作 –

+0

@auguest Bjornberg你能告訴我你是如何用curl做php請求的嗎?我正在嘗試使用ajax來刪除請求。 – user1788736

+0

Just fyi,你不必經過你自己的URL。您仍然可以通過使用method = PUT或method = DELETE作爲參數來僞造DELETE通過POST,它將完成這項工作。 @Anpher – natdico

0

試試以下代碼。

var access_token = "https://api.instagram.com/v1/media/"+mid+"/likes?access_token="+at 
var url = 
$.post(url, {access_token: access_token}, 
function(data) { 
    alert("Data Loaded: " + data); 
}, "json"); 
+0

我試過了,但它不起作用! – user1788736