Подключение JavaScript SDK

Подробную информацию об аутентификации запросов с помощью JavaScript SDK смотрите в документации API Gateway (английский язык).

Чтобы подключить JavaScript SDK в проект:

  1. Скачайте JavaScript SDK в консоли SberCloud:

    1. В списке продуктов выберите API Gateway.
    2. В раскрывающемся списке API Calling выберите пункт SDKs.
    3. Скачайте и распакуйте архив с последней версией SDK.

    SDK содержит файлы с примерами вызовов с помощью Node.js (node_demo.js) и браузера (demo.html).

  2. Создайте проект в IntelliJ IDEA.

    В окне New Project выберите Static Web.

  3. Укажите путь к папке с SDK.
  4. В меню нажмите Edit configurations ....
  5. Нажмите + и выберите Node.js.
  6. В поле JavaScript file выберите node_demo.js и нажмите OK.

Пример вызова с помощью Node.js

  1. Импортируйте в проект signer.js.

    var signer = require('./signer')
    var http = require('http')
  2. Создайте новый signer и передайте в него app_key и app_secret.

    var sig = new signer.Signer()
    sig.Key = "4f5f626b-073f-402f-a1e0-e52171c6100c"
    sig.Secret = "******"
  3. Создайте объект запроса и укажите метод, URI и тело запроса.

    var r = new signer.HttpRequest("POST", "c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1?a=1");
    r.body = '{"a":1}'
  4. Добавьте в запрос заголовок x-stage, который содержит название среды. При необходимости добавьте в запрос другие заголовки.

    r.headers = { "x-stage":"RELEASE" }
  5. Вызовите функцию для создания параметров запроса и добавьте заголовки X-Sdk-Date и Authorization для создания подписи.

    var opt = sig.Sign(r)
  6. Обратитесь к API и посмотрите ответ. Если вы обращаетесь к API по протоколу HTTPS, измените http.request на https.request.

    Access the API and view the access result. If you access the API using HTTPS, change http.request to https.request.
    var req=http.request(opt, function(res){
           console.log(res.statusCode)  
           res.on("data",	function(chunk){
    		console.log(chunk.toString())
    	})
    })
    req.on("error",function(err){
    	console.log(err.message)
    })
    req.write(r.body)
    req.end()

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней