Как использовать 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
  }
}
Другие вопросы по тегам