2017-02-03 3 views
0

У меня есть мой rest-api, настроенный в Django, и я использую React Native для подключения к нему. Я зарегистрировал пользователей и могу генерировать токены, однако я не могу передать токен в заголовке запроса GET. Мой код выглядит следующим образом:Передача токена с использованием Fetch для API Django Rest в React Native

try{ 
     let response = await fetch("http://127.0.0.1:8000/fishes/auth/", 
      { 
      method: 'GET', 
      headers: { 
      // 'Accept': 'application/json', 
      'Content-Type': 'application/json', 
      'Authorization': ' Token '+accessToken, 
      }}); 

     let res = await response.text(); 
}} 

Я следовал этой ссылке http://cheng.logdown.com/posts/2015/10/27/how-to-use-django-rest-frameworks-token-based-authentication и уже подтвердил, что ответ от апи отдыха является правильным.

Однако по телефону с родной реагировать я получаю следующее сообщение об ошибке в консоли:

TypeError: Network request failed 
at XMLHttpRequest.xhr.onerror (fetch.js:441) 
at XMLHttpRequest.dispatchEvent (event-target.js:172) 
at XMLHttpRequest.setReadyState (XMLHttpRequest.js:542) 

Что я делаю не так в коде GET?

+0

Какой код ошибки вы получаем ? –

+0

Я получаю код ошибки 401 с сервера, который является неавторизованным пользователем, вероятно, это означает, что токен не достигает сервера в правильном формате. Я также попытался заменить URL-адрес извлечения «http://127.0.0.1:8000/fishes/auth/"+"'Authorization: Token» + accessToken + «» «Что, по-видимому, проблема? – blaziken105

+0

Было ли решение работать? –

ответ

0

Код состояния 401, что означает UnAuthorized. Для Django Rest Framework вы должны передать токен доступа как часть заголовка для всех ваших запросов API.

Формат заголовка будет

Key : Authorization 
Value: Token <token> 

Вы можете увидеть здесь http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication

0

Я думаю, что вам нужно изменить

'Content-Type' в 'Content-Type'

В нижнем регистре