创建办新事件365 API
问题描述:
我Error 401 Not Authorized
:创建办新事件365 API
我已经配置好了,下面的代码通过按钮运行:
//Karim
string postData = "{\"Subject\": \"Discuss the Calendar REST API\",\"Body\": {\"ContentType\": \"HTML\",\"Content\": \"I think it will meet our requirements!\"},\"Start\": {\"DateTime\": \"2016 - 02 - 02T18: 00:00\",\"TimeZone\": \"Pacific Standard Time\"},\"End\": {\"DateTime\": \"2016 - 02 - 02T19: 00:00\",\"TimeZone\": \"Pacific Standard Time\"}}";
string Url = "https://outlook.office.com/api/v2.0/me/events";
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(Url);
myHttpWebRequest.Method = "POST";
byte[] data = Encoding.ASCII.GetBytes(postData);
myHttpWebRequest.ContentType = "application/json";
myHttpWebRequest.Accept = "application/json";
myHttpWebRequest.ContentLength = data.Length;
Stream requestStream = myHttpWebRequest.GetRequestStream();
requestStream.Write(data, 0, data.Length);
requestStream.Close();
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream responseStream = myHttpWebResponse.GetResponseStream();
StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default);
this.Label1.Text = myStreamReader.ReadToEnd();
myStreamReader.Close();
responseStream.Close();
myHttpWebResponse.Close();
//End Karim
我已经配置了Office 365的开发者工具,的NuGet,我使用Visual Studio 2015.
答
请求必须经过身份验证和授权才能请求这些API。事实上,如果你没有提供任何你代表谁来做这样的请求的信息,谁会是“/我”?
要做到这一点你应该设定一个所谓的认证承载,它在C#.NET调用看起来像这样的事情
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "<your access token as string here>");
要了解您检索这样的访问令牌怎么办,开始与this documentation。
只是两个编码技巧。 1不要将UI代码this.Label1.Text与Web请求逻辑混合在一起。 2.你应该使用C#关键字[使用](https://msdn.microsoft.com/en-us/library/yh598w02.aspx) –
我的回答对你有帮助吗? –