2016-11-29 40 views
0

我試圖使用pub-sub方法來訂閱特定用戶的事件。我能夠成功驗證用戶,但是當我調用pub-sub url時,我得到以下錯誤。不支持的API版本1.1,除非使用OAuth標頭調用

{"meta":{"error_detail":"Unsupported API version 1.1, unless called with an OAuth header","code":404,"error_type":"endpoint_error","time":1480394928,"message":"Not Found","user_xid":""},"data":{}} 

代碼: 該代碼被稱爲的OAuth2.0身份驗證的成功回調中。

var subscription_url = "https://jawbone.com/nudge/api/v.1.1/users/@me/pubsub?webhook=https://*****/pushJawbone"; 
$http.post(
    subscription_url, { 
     headers: { 
     'Authorization': "Bearer " + accessToken 
     } 
    } 
).success(
    function(response) { 
     console.log("Jawbone User Subscription Successful" + response); 
    } 
).error(
    function(error) { 
     console.log("Jawbone sub unsucessful: " + JSON.stringify(error)); 
    } 
) 
+1

這是您的accessToken無效/缺失時得到的錯誤響應。您是否可以使用相同的accessToken進行其他API調用? – RAY

+0

就像我上面所說的,這被稱爲OAuth 2.0的成功回調方法。在我使用我收到的訪問令牌的方法裏面。那麼它將如何失效?在此次調用之前,我使用相同的訪問令牌在用戶端點上調用了GET,並取得了成功。 –

+0

如果使用此accessToken手動將POST發佈到pubsub端點,您會得到什麼回覆? – RAY

回答

0

問題不在於Jawbone API。問題出在角度$ http方法中。出於某種原因,上面的代碼根本不會發送標題,所以OAuth錯誤。 當我使用下面的代碼時,它工作正常。

$http({ 
    method: 'POST', 
    url: subscription_url, 
    headers: { 
      'Authorization': 'Bearer ' + accessToken 
    } 
}).success(
    function(response) { 
     console.log("Jawbone User Subscription Successful" + response); 

    } 
).error(
    function(error) { 
     console.log("Jawbone sub unsucessful: " + JSON.stringify(error)); 
    } 
) 

感謝Ray的所有幫助。

相關問題