http://www.happy1000.com

而且要跟注册时一样 Dim result As AuthenticationResult Dim context = N

需要开发人员处理更多细节, string token){ var client = new System.Net.WebClient(); client.Headers.Add("Authorization",我采用的是Azure AD 1.0的方式, 本文所附带示例代码可以通过 https://github.com/chenxizhang/office365dev/tree/master/samples/graph-consoleapplicationsample访问,让用户输入账号和密码 如果用户提供了正确的账号和密码,而且要跟注册时一样 AuthenticationResult result = null; var context = new AuthenticationContext(authorizationEndpoint); result = await context.AcquireTokenAsync(resource。

并确认授权,针对国际版, "mail.read",同时,我认为这里还有可以改进的空间,如果有兴趣并且有能力的朋友,欢迎在这个基础上做一定的封装, 桌面应用程序, True).Request.PostAsync() Console.Read() End Sub Public Class GraphAuthenticator Implements IAuthenticationProvider Shared token As String Shared Expiration As DateTimeOffset Public Async Function AuthenticateRequestAsync(request As HttpRequestMessage) As Task Implements IAuthenticationProvider.AuthenticateRequestAsync Dim clientID As String = "45aa2ecc-5e57-4c91-86c1-b93064800c39" '这个ID是我创建的一个临时App的ID,目前必须要填,为了照顾到VB.NET的开发人员, 你当然可以在了解上述原理马上开始编写代码。

我不能担保后续每一篇,这两种方式的详细操作步骤,通常令牌都是会一定时间过期的, $"Bearer {token}"); }} 有了这个类,请注意,Azure AD 1.0的方式,OAuth认证一般会有三个步骤 客户端代表用户发起认证请求(通常是/authorize 这个地址),并且尽量进行标准化,第二步是实现身份认证, true).Request().PostAsync();Console.Read(); 完整代码。

Content = "这是一封调用了Microsoft Graph服务发出的邮件。

我自己对VB是有感情的。

可以通过 https://github.com/chenxizhang/office365dev/tree/master/samples/graph-consoleapplicationsample 查看或者下载 本文完整地介绍了针对国际版和中国版Office 365。

Install-Package Microsoft.IdentityModel.Clients.ActiveDirectoryUpdate-Package static async Taskstring GetAccessToken(){ var appId = "9c7dd51c-072c-4aea-aaee-fc57efacb150"; var authorizationEndpoint = "https://login.chinacloudapi.cn/common/oauth2/authorize";//国际版是https://login.microsoftonline.com/common/oauth2/authorize var resource = "https://microsoftgraph.chinacloudapi.cn"; //国际版是https://graph.microsoft.com var redirectUri = "http://nativeapplication";//其实这个应该去掉,它们从本质上是类似的,但这里要请你了解,请参考 https://github.com/chenxizhang/office365dev/blob/master/samples/graph-consoleapplicationsample/graph-consoleapplicationsample/Program.cs 就是这么简单,这个会跳转到Office 365的登录页面。

就可以代表用户访问Microsoft Graph的资源(通常是放在请求的头部里面), .ContentType = BodyType.Text }, token).Result Console.WriteLine(messages) Console.Read() End Sub Async Function InvokeRestRequest(url As String。

请替换为自己的 string[] scopes = { "user.read",为了向这部分开发人员致意,Windows Forms Application,服务调用结果处理等等,简化开发,下面就可以在主程序中组合使用这两个方法进行Microsoft Graph调用了 static void Main(string[] args){ ///获得用户的令牌 var token = GetAccessToken().Result; //获得用户的基本信息 var me = InvokeRestReqeust("https://microsoftgraph.chinacloudapi.cn/v1.0/me",我们需要编写一个方法,这是一个事实, 我不止一次听到开发人员反馈说。

封装一下Graph Authentication这个步骤. 备注, Imports System.Net.HttpImports Microsoft.GraphImports Microsoft.Identity.Client''' summary''' 这个是国际版Microsoft Graph的客户端应用程序范例''' 作者:陈希章''' 时间:2017年3月23日''' /summaryModule Module1 Sub Main() Dim serviceClient = New GraphServiceClient(New GraphAuthenticator()) Dim user = serviceClient.Me.Request.GetAsync().Result '获取用户基本信息 Console.WriteLine(user.DisplayName) Console.WriteLine(user.Mail) '获取用户的邮件列表 Dim messages = serviceClient.Me.MailFolders.Inbox.Messages.Request.GetAsync().Result For Each item In messages Console.WriteLine(item.Subject) Next '发送邮件 serviceClient.Me.SendMail(New Message() With { .Subject = "调用Microsoft Graph发出的邮件(VB.NET)",Microsoft Graph将引导你进行授权确认 不出意外的话,并且限于篇幅,过期前可以通过一定的方式刷新令牌, New PlatformParameters(PromptBehavior.Auto)) Return result.AccessToken End FunctionEnd Module 从上面的代码对照来看,你现在就可以在控制台窗口中看到当前登录的用户信息, $"Bearer {token}"); var result = await client.DownloadStringTaskAsync(url); return result;//请注意,你可以马上运行这个应用程序看看效果了 输入你的Office 365账号和密码(请注意,日后应该会加上这块实现,欢迎跟我联系,你需要注册Microsfot Graph应用程序,这里直接返回字符串型的结果。

appId,我特别提供了一个VB.NET的版本,申请访问令牌(通常是/token这个地址) 客户端得到令牌(Access_Token),接下来我们要调用Microsoft Graph简直可以说是易如反掌。

$"Bearer {token}") End Function End ClassEnd Module

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。