4

我正在使用带有 C# 的 GitHub API v3。我能够获取访问令牌并使用它来获取用户信息和回购信息。

但是当我尝试创建一个新的仓库时,我收到了未经授权的错误。

我正在使用 HttpWebRequest 发布数据,如下所示。请建议我一些 C# 示例或示例代码。

(..)string[] paramName, string[] paramVal, string json, string accessToken)
{
    HttpWebRequest req = WebRequest.Create(new Uri(url)) as HttpWebRequest;
    req.Method = "POST";
    req.ContentType = "application/json";

    StreamWriter writer = new StreamWriter(req.GetRequestStream());
    writer.Write(json);
    writer.Close();

    string result = null;
    using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
    {
        StreamReader reader =
            new StreamReader(resp.GetResponseStream());
        result = reader.ReadToEnd();
    }(..)

注意:我不确定我需要在哪里添加访问令牌。我已经在标题和 url 中尝试过,但它们都不起作用。

4

4 回答 4

3

你在使用C# Github API 示例代码吗?我会查看该代码,看看它是否满足您的需求。

于 2012-07-13T18:57:50.580 回答
3

您只需将身份验证添加到请求标头即可轻松使用基本身份验证:

request.Headers.Add("Authorization","Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(username +":"+password)));

抱歉还没有使用访问令牌的东西。

于 2013-02-16T09:14:22.117 回答
1

您需要在此处添加此令牌:

req.UserAgent = "My App";
req.Headers.Add("Authorization", string.Format("Token {0}", "..token..");
于 2015-06-10T10:09:33.470 回答
0

尝试

rec.Credentials = CredentialCache.DefaultCredentials;

或使用非默认凭据。

http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.credentials.aspx

于 2012-07-14T16:39:38.563 回答