请注意,此问题与通用REST服务调用无关。它关于特定的Office 365 REST服务API。
具体而言,我需要利用“联系人”#39; API在这里:https://msdn.microsoft.com/office/office365/APi/contacts-rest-operations#UsingtheContactsRESTAPI
我想知道如何在控制台应用程序中使用Office 365 REST服务。有一些工具可以处理来自Web,移动和Windows应用商店的API。但是我找不到控制台应用程序的资源。
我在应用程序注册门户上创建了应用程序:https://apps.dev.microsoft.com
所以我已经拥有应用程序ID,应用程序秘密,平台移动应用程序(客户端ID,重定向URI)
我想我需要身份验证令牌(我有用户名,密码)。 并使用它来调用REST服务。
答案 0 :(得分:4)
目前,对于Office 365 Mail,Calendar和Contacts API,支持两个版本:v1
和v2
关于REST API v2
Office 365 API服务使用Azure Active Directory(Azure AD)为用户提供安全的身份验证和授权。 Office 365数据。 Azure AD根据OAuth 2.0 protocol实现授权流程。
要允许您的应用程序访问Office 365 API,您需要register your application with Azure AD。
如果是API v1
版本,因为它支持Basic
身份验证,以下示例演示了如何使用用户凭据读取控制台应用中的联系人:
示例
class Program
{
static void Main(string[] args)
{
ReadContacts().Wait();
}
private static async Task ReadContacts()
{
var handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential()
{
UserName = ConfigurationManager.AppSettings["UserName"],
Password = ConfigurationManager.AppSettings["Password"]
};
using (var client = new HttpClient(handler))
{
var url = "https://outlook.office365.com/api/v1.0/me/contacts";
var result = await client.GetStringAsync(url);
var data = JObject.Parse(result);
foreach (var item in data["value"])
{
Console.WriteLine(item["DisplayName"]);
}
}
}
}