API прогнозирования Google v1.6 - Как я могу сделать вызов с сервера на сервер?
Я экспериментирую с API прогнозирования Google V1.6. Я следил за разделом " Начало работы " и создал модель, используя API Explorer.
Теперь моя модель готова, и результаты прогноза, которые я получаю от исследователя, являются удовлетворительными.
Теперь, когда я пытаюсь двигаться вперед (используя nodeJS), я теряюсь... Я посмотрел на эту библиотеку, но не мог понять, как сделать вызов prediction.trainedmodels.predict
без экрана согласия на стороне клиента.
2 ответа
Столкнулся с той же проблемой, вот что я нашел:
1 Вам нужно будет создать учетную запись службы.
- Перейти на консоль разработчиков Google
- Нажмите API и авторизация> Учетные данные
- Добавьте учетные данные для учетной записи службы, загрузите открытый / закрытый ключ созданной учетной записи службы.
Рекомендация. Ваше приложение может выполнить эти задачи либо с помощью клиентской библиотеки API Google для вашего языка, либо напрямую взаимодействуя с системой OAuth 2.0 с помощью HTTP. Однако механизм взаимодействия аутентификации между серверами требует, чтобы приложения создавали и криптографически подписывали веб-токены JSON (JWT), и легко допускать серьезные ошибки, которые могут серьезно повлиять на безопасность вашего приложения.
По этой причине мы настоятельно рекомендуем вам использовать библиотеки, такие как клиентские библиотеки API Google, которые абстрагируют криптографию от кода вашего приложения.
- В коде вашего сервера вы должны следовать этим шагам
- Создайте веб-токен JSON (JWT, произносится "jot"), который включает в себя заголовок, набор утверждений и подпись.
- Запросите токен доступа с сервера авторизации Google OAuth 2.0.
- Обработайте ответ JSON, который возвращает Сервер авторизации.
используйте узел API Google js lib для более простой обработки аутентификации.
var key = require('path/to/key.json');
var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, [scope1, scope2], null);
jwtClient.authorize(function(err, tokens) { if (err) {
console.log(err);
return;
}
// Make an authorized request to list Drive files.
drive.files.list({ auth: jwtClient }, function(err, resp) {
// handle err and response
});
});
Как вы можете видеть здесь, этот вызов требует авторизации, что означает, что пользователь должен предоставить приложению определенные области.
Этого нельзя обойти, поэтому нет реального способа получить авторизованный метод без экрана согласия.