Office 365 邮件 API:用于访问每个人的电子邮件的管理员访问令牌
Office 365 Mail API: Admin access token to access everyone's emails
我可以使用 Office 365 邮件 API 访问公司内每个人的电子邮件吗?我知道我可以访问个人,但 hat 要求我被授予访问他们的电子邮件的权限并获得他们的访问令牌。我希望能够拥有管理员访问令牌并能够访问每个人的电子邮件。任何想法这是否可能?
有可能。我们可以注册一个 Web 应用程序 and/or Web API(默认,在 OAuth2 的说法中称为机密客户端)并构建一个守护进程服务来检索所有消息以进行组织。
这是一个使用客户端凭据请求令牌并从不同用户获取消息的示例:
string authority = "https://login.microsoftonline.com/msdnofficedev.onmicrosoft.com";
string resource = "https://Graph.microsoft.com";
string clientID = "";
string clientSecret = "";
AuthenticationContext ac = new AuthenticationContext(authority);
AuthenticationResult ar = ac.AcquireToken(resource, new ClientCredential(clientID, clientSecret));
HttpClient hc = new HttpClient();
hc.DefaultRequestHeaders.Add("Authorization", "Bearer " + ar.AccessToken);
HttpResponseMessage hrm = await hc.GetAsync("https://Graph.microsoft.com/v1.0/users/fx@msdnofficedev.onmicrosoft.com/messages/");
string content=await hrm.Content.ReadAsStringAsync();
MessageBox.Show(content);
HttpResponseMessage hrm2 = await hc.GetAsync("https://Graph.microsoft.com/v1.0/users/user1@msdnofficedev.onmicrosoft.com/messages/");
content = await hrm2.Content.ReadAsStringAsync();
MessageBox.Show(content);
更多关于Azure AD注册申请的详情,可以关注下方link:
https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#BKMK_Native
我可以使用 Office 365 邮件 API 访问公司内每个人的电子邮件吗?我知道我可以访问个人,但 hat 要求我被授予访问他们的电子邮件的权限并获得他们的访问令牌。我希望能够拥有管理员访问令牌并能够访问每个人的电子邮件。任何想法这是否可能?
有可能。我们可以注册一个 Web 应用程序 and/or Web API(默认,在 OAuth2 的说法中称为机密客户端)并构建一个守护进程服务来检索所有消息以进行组织。
这是一个使用客户端凭据请求令牌并从不同用户获取消息的示例:
string authority = "https://login.microsoftonline.com/msdnofficedev.onmicrosoft.com";
string resource = "https://Graph.microsoft.com";
string clientID = "";
string clientSecret = "";
AuthenticationContext ac = new AuthenticationContext(authority);
AuthenticationResult ar = ac.AcquireToken(resource, new ClientCredential(clientID, clientSecret));
HttpClient hc = new HttpClient();
hc.DefaultRequestHeaders.Add("Authorization", "Bearer " + ar.AccessToken);
HttpResponseMessage hrm = await hc.GetAsync("https://Graph.microsoft.com/v1.0/users/fx@msdnofficedev.onmicrosoft.com/messages/");
string content=await hrm.Content.ReadAsStringAsync();
MessageBox.Show(content);
HttpResponseMessage hrm2 = await hc.GetAsync("https://Graph.microsoft.com/v1.0/users/user1@msdnofficedev.onmicrosoft.com/messages/");
content = await hrm2.Content.ReadAsStringAsync();
MessageBox.Show(content);
更多关于Azure AD注册申请的详情,可以关注下方link: https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#BKMK_Native