我正在尝试连接到 API(在本例中为自由代理)以获取一些数据。我使用 Googles OAuth Playground 为我生成了一个 token 。
var req = (HttpWebRequest)WebRequest.Create("https://api.freeagent.com/v2/recurring_invoices");
req.Headers["Authorization"] = "Bearer " + Convert.ToBase64String(Encoding.ASCII.GetBytes(_accessToken));
req.ContentType = "application/xml";
req.Accept = "application/xml";
req.Method = "GET";
// and get the response
var resp = req.GetResponse();
var streamIn = new StreamReader(resp.GetResponseStream());
returnData = streamIn.ReadToEnd();
streamIn.Close();
return resp;
现在我正在松散地尝试转换以下内容:https://dev.freeagent.com/docs/using_curl
我经常收到 Bad Request HTTP 400 - 有人对可能导致此问题的原因有任何建议吗?
最佳答案
我有大部分 api 使用 RestSharp 工作:
https://github.com/nicwise/FreeAgent
我为我的 iPhone 应用程序 mobileAgent 编写了它,但它相当基础 .NET,所以它应该适用于任何东西。
我的身份验证注入(inject)代码与您的非常相似:
protected void SetAuthentication(RestRequest request)
{
request.AddHeader("Authorization", "Bearer " +
Client.CurrentAccessToken.access_token);
}
你有没有运行 fiddler 或类似的东西来查看到底发生了什么 通过电线?这通常会有所帮助。
关于c# - FreeAgent API (OAuth) 来自 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257496/