获取版本 Github API v3

Get releases Github API v3

我正在尝试在 Unity (.NET 3.5) 中获取 public 存储库的版本,但我不断收到 403 错误:

WebException: The remote server returned an error: (403) Forbidden.
System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result)
System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data)

这是我的代码:

private string GetReleases(string username, string repoName)
{
    const string GITHUB_API = "https://api.github.com/repos/{0}/{1}/releases";
    WebClient webClient = new WebClient();
    Uri uri = new Uri(string.Format(GITHUB_API, username, repoName));
    string releases = webClient.DownloadString(uri);
    return releases;
}

因为回购是 public 我相信我不需要使用令牌,但以防万一我尝试添加一个但我仍然收到相同的错误消息。

webClient.Headers.Add("Authorization", string.Format("Token {0}", "myToken"));

如果我从我的浏览器输入 url 它 returns 我 json 与所有版本的回购。

是否有模板或我尝试获取版本的方式有问题?

在梅森的 之后,我能够让它工作,现在 returns json!

private string GetReleases(string username, string repoName)
    {
        const string GITHUB_API = "https://api.github.com/repos/{0}/{1}/releases";
        WebClient webClient = new WebClient();
        // Added user agent
        webClient.Headers.Add("User-Agent", "Unity web player");
        Uri uri = new Uri(string.Format(GITHUB_API, username, repoName));
        string releases = webClient.DownloadString(uri);
        return releases;
    }