GitHub API — получение содержимого, постоянно возвращающего 404 для действительного пути

Я использую probot => https://probot.github.io/

Я разрабатываю приложение GitHub, которое анализирует определенный файл .json в репозитории на наличие изменений в строках даты. Я делаю это, подписываясь на событие push и наблюдая за ним с webhook.

Я использую request в Node. Проблема, с которой я сталкиваюсь, заключается в том, что я постоянно получаю 404 при запуске хука. Мой код выглядит так:

app.on('push', async context => {
    let repoOwner = context.payload.repository.owner.name;
    let repoName = context.payload.repository.name;

    const options = {
      url: `https://api.github.com/repos/${repoOwner}/${repoName}/contents/file.json`,
      headers: { 'User-Agent': 'request' }
    }
    request.get(options, (error, response, body) => {
      console.log(body) // logs {message: 'Not Found', documentation_url:... etc
      })
  })

Ранее я не включал заголовок user-agent, который постоянно возвращал 403 — API GitHub указывает, что вы должны передать заголовок. После этого я теперь постоянно получаю это 404


person captainrad    schedule 27.12.2019    source источник


Ответы (1)


Возможные причины ошибки 404:

person VonC    schedule 27.12.2019
comment
У приложений GitHub есть определенный токен аутентификации? Или мне нужно отправить токен аутентификации текущего пользователя? - person captainrad; 28.12.2019
comment
Токена пользователя или вашего собственного должно быть достаточно. - person VonC; 28.12.2019
comment
Это частное репо наверняка, приложение установлено на этом репо. Я хочу, чтобы приложение могло быть аутентифицировано для выполнения вызова get content. Однако я не могу понять, как получить токен авторизации приложения. Я должен отметить, что я использую probot. - person captainrad; 28.12.2019
comment
Подойдет любой Pat (персональный токен доступа) любого соавтора, имеющего доступ к частному репозиторию. - person VonC; 28.12.2019