2016-11-29 6 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

Если вы вручную отправляете POST на конечную точку pubsub с этим accessToken, какой ответ вы получаете? – 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 за помощь.