【问题标题】:How to include Office 365 services in my web app如何在我的 Web 应用程序中包含 Office 365 服务
【发布时间】:2016-05-04 21:07:03
【问题描述】:

我对 Microsoft 的开发中心门户网站感到非常困惑,并且正在循环往复。我正在尝试为我的企业构建一个 Web 应用程序,允许员工登录到他们的 Office 365 帐户并在他们的邮件和日历服务中同步、读取、写入和创建事件。我可以使用的工具是 Visual Studio 2012、2013、2015 和 .NET Framework。我已经启动了一个 .NET 网站项目,此时作为 MVC 重新启动会花费太多时间和人力,但绝对是最后的手段。

我已注册 Azure 的试用订阅(有史以来用户最不友好的仪表板!)、Office 365 开发人员帐户、付费 Office 365 帐户。我已经在应用程序注册门户 (https://apps.dev.microsoft.com) 和 Outlook Dev Portal 应用程序注册工具 (https://dev.outlook.com/AppRegistration) 中注册了我的应用程序,我从 Outlook Dev Portal 应用程序注册工具获得了更多成功(实际上我从发送令牌的服务器)。

在这个 StackOverflow 问题here 中可以看到我的一些挣扎。我的团队最终下载了本教程存储库中的代码 (dotnet-tutorial.sln),但我们甚至无法让它在本地工作。当我们尝试恢复 NuGet 包时,加载栏只会坐坐几个小时,并且由于 30 个解析器错误,代码无法在浏览器中运行。

好的,那么我如何(在可行的简单步骤中)将邮件和日历添加到我的应用中?

【问题讨论】:

    标签: office365 office365api microsoft-graph-api azure-ad-graph-api


    【解决方案1】:

    对 MVC 没有硬依赖,所以这应该不是问题。正如 Nan 在他的回答中提到的那样,dev.outlook.com 上的 tutorial 是一个有效的分步过程。它确实使用 MVC,但希望您可以将其转换为您的非 MVC 网络应用程序。

    该教程使用 Azure v2 应用模型,不需要您创建 Azure 订阅甚至 Office 365 订阅,因为它适用于 Outlook.com!

    如果是库让您感到困惑,那么请查看这个无库示例:https://github.com/jasonjoh/dotnet-outlook-nosdk。它手动实现 OAuth 和 REST 调用,并通过 HTTP 发送它们。

    【讨论】:

    • Jason,我将在 Visual Studio 2015 中尝试此操作。正如我对 Nan 所说,“然后在项目的 nuget 包管理器中,将“Microsoft.Office365.OutlookServices”dll 更新到最新版本”这是我的加载条旋转几个小时的地方。 (这是在 VS 2013 中)。
    • 所以我在无 SDK 代码示例方面取得了一些成功。但是,登录后,我被重定向到主页/错误页面,其中显示“错误。处理您的请求时发生错误。错误:unsupported_response_type - 此客户端不允许输入参数'response_type'的提供值. 期望值是‘代码’。”这可能是什么原因?我在 Office 365 门户的日历中有事件。
    • 我第一次登录时得到了第一张截图,第二次使用我的企业O365帐户link登录时得到了第二张截图
    • 这些都是身份验证部分的错误。该错误似乎表明应用注册存在问题。您能否截取您的应用在 apps.dev.microsoft.com 上的注册并发布?
    • 我刚刚得到它来进行身份验证并登录。我必须在应用注册门户中选择“允许隐式流”。这是一个很好的开始 - 在 20 多个小时的尝试中获得教程的第一次成功。
    【解决方案2】:

    实际上,this document 已经提供了详细的解释和如何使用 MVC Web 应用程序获取 O365 邮件的步骤。您更有可能想知道如何使this code sample 工作,以便您可以更好地学习代码/api。我将与您分享我如何在我的环境中使用该示例:

    1. 前往https://apps.dev.microsoft.com 快速获取客户端 ID 和密码。使用登录按钮,使用您的 Microsoft 帐户 (Outlook.com) 或工作或学校帐户 (Office 365) 登录。您可以在 README.md 的“实施 OAuth2”部分中找到详细步骤。
    2. 下载教程存储库中的代码或直接从 Visual Studio 连接到 GitHub 中的解决方案。
    3. 打开 microsoft visual studio 2015,打开项目(选择 .sln 文件)。
    4. 加载项目时,如果按F5,会出现解析器错误,找不到“Microsoft.Office365.OutlookServices”。然后在项目的 nuget 包管理器中,将“Microsoft.Office365.OutlookServices”dll 更新到最新版本。重建项目。
    5. 打开 web.config 文件,在元素内添加以下键:<add key="ida:ClientID" value="YOUR APP ID" /><add key="ida:ClientSecret" value="YOUR APP PASSWORD" />
    6. 按F5调试应用,输入你的o365账号,授予权限:
    7. 您将成功收到邮件。

    您可以通过here 找到更多 Office 365 API 代码示例和视频。

    【讨论】:

    • 嗨南,是的,我一直在关注您链接到的两个文档。在您详细说明的第四步中,“然后在项目的 nuget 包管理器中,将“Microsoft.Office365.OutlookServices”dll 更新到最新版本”,这就是我的加载栏旋转几个小时的地方。这是在 VS 2013 中。我将在 VS 2015 中再次尝试这一切,因为我刚刚安装了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 2013-04-16
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多