Проблема с Github-Api v3 с использованием JavaScript - PullRequest
0 голосов
/ 28 декабря 2018

Для домашней работы (в Signavio Workflow Accelerator) мне нужно добавить пользователей в организацию на Github с помощью GitHub-API v3.Код должен быть написан на JavaScript, который я не очень хорошо знаю.

В настоящий момент я получаю следующий код ошибки: «SyntaxError: Неожиданный токен o в JSON в позиции 1 в Request._callback».Так что у меня такое ощущение, что может быть проблема с разбором.

var link = 'https://api.github.com/orgs/myorganization/memberships/' + githubUser
var token = 'mytoken'

request({url: link, method: 'put', headers: {'User-Agent': 'request'}, auth: {username: token}, JSON: true},
  function (response, body) {
    console.log(body)
    if(body !== undefined){
      body = JSON.parse(body)
      body['state'][0]['main']
      status = body['main']['state']
      status = body.main.state
    }
    else{
      status = 'error'
    }
  })

Я не знаю, может ли это быть полезным, но если я выполню этот запрос пут, используя cURL, он сработает, и ответ начнется с:

    {
      "url": "https://api.github.com/orgs/myorganization/memberships/githubUser",
      "state": "pending",
  ...}

Итак, это состояние"это значение, которое я хочу прочитать в коде выше.

Уже спасибо за помощь!

1 Ответ

0 голосов
/ 28 декабря 2018

Я работал вместе с моим другом, и вместе мы нашли рабочее решение.Так что, если у кого-то еще такая же борьба: этот кусок кода творит волшебство!

var link = 'https://api.github.com/orgs/myorganization/memberships/' + githubUser
var token = 'mytoken'
  const options = {
      url: link,
      method: 'put',
      headers: {'User-Agent': 'request'}, auth: {username: token}
  }
  function callback(error, response, body) {
    console.log(error)
    if(!error && response.statusCode == 200){
      const info = JSON.parse(body)
      status = info['state'][0]['main']
      console.log(status)
      status = info['state']
      status = info.state
    }
    console.log(body)
  }
  request(options, callback)
...