#r #api #github #get
#r #API #github #получение
Вопрос:
Эй, итак, я использую эту строку в R:
request <- GET("https://<host-name>/api/v3/search/commits?=org:<org-Name>",
add_headers(Authorization= "token <token number>",
Accept= 'application/vnd.github.cloak-preview'))
И в результате я получаю это:
]
Date: 2019-03-21 09:13
Status: 422
Content-Type: application/json; charset=utf-8
Size: 221 B
{
"message": "Validation Failed",
"errors": [
{
"resource": "Search",
"field": "q",
"code": "missing"
}
],
"documentation_url": "https://developer.github.com/enterprise/2...
...
В нем говорится, что код отсутствует
В запросе get я должен синтаксически сформулировать запрос, в котором я передаю название организации в качестве параметра «q», но что это за код, о котором говорится, что он отсутствует?
Комментарии:
1.
?=org:
выглядит подозрительно, параметры запроса имеютkey=value
синтаксис.2. Я видел это здесь: help.github.com/en/articles/searching-commits В нем говорится, что квалификатором может быть. org: ORGNAME
3. Это было бы частью значения параметра запроса
q
, а двоеточие должно быть экранировано URL. Смотрите пример из этих документов:https://github.com/search?utf8=✓amp;q=test org:githubamp;type=Commits
.4. да, но как я могу синтаксически использовать это в R? чтобы получить все коммиты из всех репозиториев для моей конкретной организации.
5.…
?q=org:<org-Name>
?
Ответ №1:
Я нашел решение:
В принципе, перед commits?
должно было быть commits?q=
, но это также не сработало, потому что для этого требуется поле string, поэтому: commits?q=stringfield org:{org-name}
request <- GET("https://<host-name>/api/v3/search/commits?=org:<org-Name>",
add_headers(Authorization= "token <token number>",
Accept= 'application/vnd.github.cloak-preview'))
Комментарии:
1. Также опубликованный вами фрагмент не соответствует тому, что вы описываете. Под «строковым полем» вы имеете в виду фактический поисковый запрос?
2. Да, похоже, вы не можете искать коммиты без строки. Поисковый запрос «да». Как одно слово. Но теперь мне сложно использовать строку, которая наверняка выдаст мне все коммиты. Потому что это то, чего я хочу. Все коммиты из всех репозиториев.
3.Тогда зачем вы вообще используете search API? Если вам нужны все коммиты из всех репозиториев в организации, вы, вероятно, захотите нажатьdeveloper.github.com/v3/repos/#list-organization-repositories затем
commits_url
developer.github.com/v3/repos/commits /…4. Это для обычного API. Я использую api enterprise edition, который имеет другую документацию.
5. Я думаю, что это дополнительные конечные точки для корпоративной версии, она по-прежнему предоставляет остальную часть того же API, что и размещенная версия.