gpt4 book ai didi

c# - 来自 .net 控制台应用程序的 Office 365 REST API 调用

转载 作者:太空狗 更新时间:2023-10-30 01:16:35 30 4
gpt4 key购买 nike

请注意,此问题与通用 REST 服务调用无关。它是关于特定的 Office 365 REST 服务 API。

具体来说,我需要在这里使用“联系人”API:https://msdn.microsoft.com/office/office365/APi/contacts-rest-operations#UsingtheContactsRESTAPI

我想知道如何在控制台应用程序中使用 Office 365 REST 服务。有一些工具可以处理来自 Web、移动和 Windows 商店应用程序的 API。但是我没有找到控制台应用程序的资源。

我在此处的应用程序注册门户上创建了应用程序:https://apps.dev.microsoft.com

所以我已经有了应用程序 ID、应用程序 secret 、平台移动应用程序(客户端 ID、重定向 URI)

我想我需要身份验证 token (我有用户名和密码)。并使用它来调用 REST 服务。

最佳答案

目前 Office 365 邮件、日历和联系人 API 支持两个版本:v1v2

关于 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"]);
}
}
}
}



关于c# - 来自 .net 控制台应用程序的 Office 365 REST API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722571/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com