2016-11-29 34 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的所有帮助。

相关问题