【问题标题】:Authenticating Microsoft Dynamics in PHP在 PHP 中验证 Microsoft Dynamics
【发布时间】:2013-02-18 19:38:55
【问题描述】:

我正在尝试将 Microsoft Dynamics Online 与我的网站集成。但是,我正在努力寻找一种体面的方式来使用 PHP 通过 API(无论是 REST 还是 SOAP)进行身份验证。大多数示例使用 Microsoft CRM SDK(在 .NET 中)进行身份验证。但是,我的网站基于 PHP,我想知道您如何访问 Microsoft Dynamics API(REST 和/或 SOAP)。

有人知道通过 php 使用 Microsoft 动态 API 进行身份验证的合适方法吗?

【问题讨论】:

    标签: php rest soap dynamics-crm microsoft-dynamics


    【解决方案1】:

    从 Dynamics CRM 2016 起 (v8.0) - 我们获得了用于跨平台集成的 REST API 端点。它看起来像这样:https://crmorgname.crm.dynamics.com/api/data/v8.0/accounts

    SOAP 端点已被弃用,基于 REST/JSON/Odata 的 CRM web api 端点是游戏规则的改变者。我们可以使用 XMLHttpRequest 或任何方式使用 PUT、GET 或 POST 等提示动词来达到我们的目的。

    要获得身份验证 - 我们必须使用 OAuth,为此我们需要在 Azure Active Directory 中注册 PHP 应用程序并启用 Dynamics CRM 在线权限。完成后,我们可以使用该客户端 ID 和客户端密码进行身份验证,并且 BEARER TOKEN 可用于 API 调用。

    【讨论】:

    • 嗨 Arun,你有这方面的 PHP 示例吗?一个客户要求我从他的 Microsoft Dynamics 中检索信息,他向我提供了一个 URL、一个客户端 ID 和一个客户端密码,我不确定如何使用它,可能是在 cURL 请求中,但我不知道如何使用传递变量。
    • @rAthus 看看这是否有帮助 - example-code.com/phpExt/dynamics_crm_oauth2_token.asp
    【解决方案2】:

    唯一适用于 Dynamics CRM Online 的授权类型 - 使用 Windows Live ID。在官方的“Dynamics CRM 2011 开发人员培训工具包”中有一个很好的(而且很重要 - 工作)示例从 PHP 连接到 CRM Online。

    http://www.microsoft.com/en-us/download/details.aspx?id=23416

    参见\CRM2011KitUpdated\Labs\CRMOnlinefromPHP

    至少它对我有用,我的库是基于那个例子的。

    【讨论】:

    • 我试过这个,但对我来说部分失败了。由于最新版本的 CRM online 可与 Office 365 配合使用,因此此代码已过时。我不得不根据以下站点将login.live.com/liveidSTS.srf 更改为login.microsoftonline.com/extSTS.srflink。我仍然不确定这是否正确,因为它破坏了 LiveIdManager.php 中身份验证步骤的第一部分。
    • 但是 CRM 在线仍然可以使用 Windows Live ID,而且这个解决方案现在对我有效。我的 LiveIdManager.php 仍然适用于“login.live.com/liveidSTS.srf”。但我无法就 Office 365 方法提供任何建议,抱歉。我没用过
    • microsoft.com 的 URL 已损坏
    • 这个链接可能会有所帮助 - ebanshi.cc/questions/1929618/…
    猜你喜欢
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多