Как использовать Github GraphQL search для возврата профилей пользователей с похожим именем (включая логин и отображаемое имя)?
У меня есть этот простой поисковый запрос
query test($name: String!) {
search(query: $name, type: USER, last: 100) {
edges {
textMatches {
fragment
property
highlights {
text
}
}
}
userCount
}
}
и скажем, например, я хотел бы иметь информацию для входа в систему для всех пользователей из результатов поиска. Как бы я это сделал? Результаты содержат логин или отображаемые имена, соответствующие тексту поиска. Есть ли способ найти логин для тех, кто появляется в поиске только из-за их отображаемого имени?
1 ответ
Вы были почти там! В "edge" вы имеете дело с массивом SearchResultItemEdge, который содержит свойство "node" на том же уровне, что и "textMatches".
Так как узел является SearchResultItem и может быть одним из User, Issue, PullRequest и т. Д., Вы должны специально распределить свой узел как "User", чтобы иметь возможность доступа к логину.
Попробуйте этот запрос в Проводнике:
query test($name: String!) {
search(query: $name, type: USER, last: 100) {
edges {
node {
__typename
...on User {
login
}
}
textMatches {
fragment
property
highlights {
text
}
}
}
userCount
}
}