2017-01-19 7 views
6

я Пробовал и ниже мой код я не знаю, что пошло не так

$http({ 
    method: 'POST', 
    headers:'{"gqlQuery": {"queryString": "select * from culture" }}', 
    url: 'https://datastore.googleapis.com/v1/projects/nammaooru-3630e:runQuery?fields=batch%2Cquery&key=[myapikey]' 
}).then(function successCallback(response) { 

    alert("Success"+response); 
    // this callback will be called asynchronously 
    // when the response is available 
    }, function errorCallback(response) { 
    alert("Error"+response); 
    // called asynchronously if an error occurs 
    // or server returns response with an error status. 
    }); 

Got Ошибка в угловом Запроса **

https://datastore.googleapis.com/v1/projects/nammaooru-3630e:runQuery?fields=batch%2Cquery&key=[apikey]

Failed to load resource: the server responded with a status of 401() 

Получил ошибку при попытке почтальона

URL : https://datastore.googleapis.com/v1/projects/nammaooru-3630e:runQuery?fields=batch%2Cquery&key=[apikey] 

Method : POST 


    { 
     "error": { 
     "code": 401, 
     "message": "The request does not have valid authentication credentials.", 
     "status": "UNAUTHENTICATED" 
     } 
    } 

Но я вышел ответ пут с сайта разработчика Google

https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery#http-request

{ 
"batch": { 
    "entityResultType": "FULL", 
    "entityResults": [ 
    { 
    "entity": { 
    "key": { 
     "partitionId": { 
     "projectId": "nammaooru-3630e" 
     }, 
     "path": [ 
     { 
     "kind": "culture", 
     "id": "5629499534213120" 
     } 
     ] 
    }, 
    "properties": { 
     "types": { 
     "stringValue": "", 
     "excludeFromIndexes": true 
     }, 
     "images": { 
     "stringValue": "", 
     "excludeFromIndexes": true 
     }, 
     "bname": { 
     "stringValue": "Kangeyam Kalai" 
     }, 
     "date": { 
     "timestampValue": "2017-01-14T12:44:56.933Z" 
     }, 
     "title": { 
     "stringValue": "" 
     }, 
     "description": { 
     "stringValue": "Coimbatore Kongu nadu region", 
     "excludeFromIndexes": true 
     } 
    } 
    }, 
    "cursor": "Ci8SKWoRc35uYW1tYW9vcnUtMzYzMGVyFAsSB2N1bHR1cmUYgICAgICAgAoMGAAgAA==", 
    "version": "1484398012256000" 
    } 
    ], 
    "endCursor": "Ci8SKWoRc35uYW1tYW9vcnUtMzYzMGVyFAsSB2N1bHR1cmUYgICAgICAgAoMGAAgAA==", 
    "moreResults": "NO_MORE_RESULTS" 
}, 
"query": { 
    "kind": [ 
    { 
    "name": "culture" 
    } 
    ] 
} 
} 
+0

Вам нужно настроить удаленный доступ в своей учетной записи google? https://cloud.google.com/storage/docs/cross-origin может помочь – Dale

+0

Как я могу это сделать, есть ли какой-нибудь пример? – Gopinath

+0

Извините, обновлял мой комментарий :) – Dale

ответ

0

Я не являюсь пользователем angularjs, но, глядя на ошибку, я предполагаю, что вы не выполнили аутентификацию. Google использует OAuth 2.0 для аутентификации, вы можете прочитать об этом here

В принципе вам нужно запросить токен аутентификации, а затем использовать приобретенный токен в ваших вызовах api. (это бит заголовка, который вам не хватает, Авторизация: Bearer yourtokenhere)

1

повреждают-веб-безопасности и перезапустить хром бегом ниже команды в окне " Эксплуатация ":

chrome --allow-file-access-from-files --disable-web-security --user-data-dir 
+0

, что dsn work, я думаю, что что-то нужно изменить при формировании заголовков – Gopinath

0

Я сомневаюсь, что это проблема, связанная с CORS. У вас есть доступ к POSTMAN?

Другое дело, ваша строка запроса из заголовков должна находиться в теле запроса.

+0

body: '{"gqlQuery": {"queryString": "select * from culture"}}', ?? Я прав? – Gopinath

+0

Даже я пробовал в своем устройстве ... это не проблема с корером. Надеюсь, что – Gopinath

+0

попробуй с расширением POSTMAN для хром первым. согласно документации: { "PartitionID": { объекта (PartitionID) }, "readOptions": { объекта (ReadOptions) }, // Союз поле QUERY_TYPE может быть только одно из следующих действий: " запрос ": { объекта (Query) }, "GqlQuery": { объекта (GqlQuery) }, // Конец списка возможных типов для поля объединения QUERY_TYPE. } – playerone