2017-01-22 70 views
0

我想在Office 365中添加一个新联系人,以便与使用C#的Outlook邮件一起使用。我在Office 365中创建了以下代码以添加联系人C# - 在Office 365中添加联系人 - 禁止发生错误403

var client = new HttpClient(); 
var request = new HttpRequestMessage(HttpMethod.Post, new Uri("https://outlook.office.com/api/v2.0/me/contacts")); 

// Add the Authorization header with the basic login credentials.     
var auth = "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes("XXXXXXXX" + ":" + "XXXXXXXX")); 
request.Headers.Add("Authorization", auth); 
request.Headers.Add("contact_folder_id", "test"); 

private const string odata = "@odata.type"; 
private const string type = "#Microsoft.Exchange.Services.OData.Model.Contact"; 

var createResponse = new JObject(); 
createResponse[odata] = type; // this needs to be here for this to work 
createResponse["DisplayName"] = "Display Name"; 
createResponse["GivenName"] = "Given Name"; 
createResponse["MiddleName"] = "Middle Name"; 
createResponse["Surname"] = "Surname"; 
createResponse["EmailAddress1"] = "[email protected]"; 

request.Content = new StringContent(JsonConvert.SerializeObject(createResponse)); 
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); 
var response = await client.SendAsync(request); 

上面的代码不适用于我。我得到403禁止错误的回应,我无法在办公室365创建联系人。

+0

我已添加auth并更新了问题。但我仍然得到同样的回应。 –

回答

0

我不认为Office 365接受http基本身份验证,这将解释为什么你得到403禁止作为回应。

尝试通过OAuth进行身份验证。