【问题标题】:GitHub Graphql : Getting sponsor tier information for the sponsors of a userGitHub Graphql:获取用户赞助商的赞助商层信息
【发布时间】:2020-06-02 12:51:52
【问题描述】:

我正在使用 GitHub graphql 获取用户的赞助商信息。虽然我能够获取特定用户的赞助商,但我无法获取赞助商的赞助层信息。我写的graphql查询如下:

{
  user(login: <<loginID>>) {
    name
    sponsorshipsAsMaintainer(first: 1) {
      totalCount
      nodes {
        createdAt
        privacyLevel
        tier {
          createdAt
          name
          description
        }
        sponsor {
          login
        }
      }
    }
  }
}

我为一个用户得到的结果如下。理想情况下,在查询中,我希望获得层级信息,但结果为tier 字段返回null

{
  "data": {
    "user": {
      "name": "XXX",
      "sponsorshipsAsMaintainer": {
        "totalCount": 11,
        "nodes": [
          {
            "createdAt": "2020-02-16T10:39:14Z",
            "privacyLevel": "PUBLIC",
            "tier": null,
            "sponsor": {
              "login": "XXX"
            }
          }
        ]
      }
    }
  }
}

任何帮助或信息来获取赞助商的等级信息将不胜感激。非常感谢。

【问题讨论】:

  • 您好!您找到解决此问题的方法了吗?

标签: github graphql github-api


【解决方案1】:

到目前为止,tier 仍然是 null,我还没弄清楚这有什么问题。

但是我设法使用以下查询获取层信息:

query getTiers($login: String!) {
  user(login: $login) {
    sponsorshipsAsSponsor(first: 1) {
      nodes {
        sponsorable {
          sponsorsListing {
            tiers(first: 5) {
              nodes {
                id
              }
            }
          }
        }
      }
    }
  }
}

【讨论】:

    【解决方案2】:

    我正在使用以下查询来查找赞助商,并且我只获取我自己的等级的等级信息。我假设查看者的 databaseId 必须与赞助的 databaseId 匹配才能看到此信息

    query {
      user(login: "${login}") {
        sponsorshipsAsSponsor(first: 100) {
          nodes {
            privacyLevel
            tier {
              monthlyPriceInDollars
            }
            sponsorable {
              ... on User {
                  databaseId
              }
              ... on Organization {
                  databaseId
              }
            }
          }
        }
      }
    }
    
    

    这里有一个用户赞助了我以外的其他三个项目(我替换了其他项目的 databaseIds)

    {
        "data": {
            "user": {
                "sponsorshipsAsSponsor": {
                    "nodes": [
                        {
                            "privacyLevel": "PUBLIC",
                            "tier": {
                                "monthlyPriceInDollars": 3
                            },
                            "sponsorable": {
                                "databaseId": 220908 <--- Me
                            }
                        },
                        {
                            "privacyLevel": "PUBLIC",
                            "tier": null,
                            "sponsorable": {
                                "databaseId": 1
                            }
                        },
                        {
                            "privacyLevel": "PUBLIC",
                            "tier": null,
                            "sponsorable": {
                                "databaseId": 1
                            }
                        },
                        {
                            "privacyLevel": "PUBLIC",
                            "tier": null,
                            "sponsorable": {
                                "databaseId": 1
                            }
                        }
                    ]
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多