【问题标题】:How to redirect the user to a custom page when user click "Connect to QuickBooks" button?当用户单击“连接到 QuickBooks”按钮时,如何将用户重定向到自定义页面?
【发布时间】:2013-04-24 01:07:08
【问题描述】:

因此,Intuit 会针对 QuickBooks 的每个活动连接收费。因此,我想将我的应用程序中的 QuickBooks 功能仅限于高级用户。

理想情况下,当任何用户单击“连接到 QuickBooks”按钮并调用我的 RequestOAuthToken http 处理程序时,我想检查是否允许用户使用 QuickBooks。如果是这种情况,则继续正常的 OAuth 流程。如果不允许用户,那么我想将用户重定向到我的应用程序的升级页面。

鉴于“连接到 QuickBooks”按钮会打开一个新窗口(至少在桌面上,我没有在手机/平板电脑上尝试过),该窗口应该关闭,并且主窗口(我的应用程序)应该重定向用户到正确的页面。实际上,这正是正常 OAuth 流程完成后会发生的情况。

现在,我尝试了几种不同的方法,但都无法奏效。

1) 在我的 RequestOAuthToken 中,返回一个 HTTP 重定向到计划页面

2)在我的RequestOAuthToken中,返回一个带有javascript逻辑的html页面以重定向到页面

3) 在我的 RequestOAuthToken 中,返回 HTTP 重定向到带有 javascript 逻辑的页面以重定向到页面

4) 我还没有尝试过,但我能以某种方式拦截 Intuit 按钮上的 javascript 点击处理程序。我不确定这是否是一种公认​​的做法。

这是我从 .Net 示例中抓取的一段 javascript:

try
{
    var parentlocation = window.parent.opener.location.hostname;
    var currentlocation = window.location.hostname;
    if (parentlocation != currentlocation)
    {
        window.location = plansUrl;
    }
    else
    {
        window.opener.location.href = window.opener.location.href;
        window.close();
    }
}
catch (e)
{
    window.location = plansUrl;
}

请帮帮我。

【问题讨论】:

    标签: intuit-partner-platform


    【解决方案1】:

    我认为你不能完全按照你的要求去做,但你可能会通过采取不同的方法来接近。

    与其尝试在他们点击按钮之后 重定向他们,为什么不尝试在他们点击按钮之前 重定向他们?例如当他们尝试访问带有“连接到 QuickBooks”按钮的页面时,检查他们是否是那里的高级用户,如果不是,则重定向他们。

    我不认为您将能够在他们单击按钮后重定向他们,因为一旦他们单击该按钮,他们就会被踢到 Intuit 的网站,此时您无法控制.

    【讨论】:

    • 问题是,我希望快速书按钮出现在右上角的每个页面上,我还希望能够使用 intuit 小部件,它有外观和感觉。
    • 您是否向 Intuit 询问过这样做的事情?他们往往对 UI 组件的工作方式非常严格(可以理解)(因为他们试图在所有 Intuit 集成应用程序中保持一致的 UI 体验)。我认为他们不太可能允许你使用他们的小部件,但改变他们的行为......
    • 您是否可以在每个页面上使用“连接到 QuickBooks”的链接,然后将您带到带有“连接到 QuickBooks”按钮的页面,或者将您带到“升级” " 页面,如果您不是高级用户?
    • Clement,您需要在这里遵循 Keith 的方法。您不能更改按钮的功能。您可以改为查看用户的当前状态,如果他们不是高级用户,那么您将隐藏连接按钮,而是将其替换为一条消息,提示用户升级,然后才能连接到 quickbooks。
    【解决方案2】:

    Clement,Keith 提供了我们希望您追求的答案。您不能更改“连接到 QuickBooks”按钮的行为。它必须按照我们文档中的说明使用。为高级用户提供显示“连接到 QuickBooks”按钮的页面的链接并向非高级用户提供升级消息是可行的方法。

    我强烈建议您访问http://docs.developer.intuit.com/0025_Intuit_Anywhere/0010_Getting_Started/0040_Publishing_Your_App 并查看那里的所有文档。如果您按照我们的指南和要求进行开发,将会加快审核过程。

    托尼·普马尔 开发者关系工程师 Intuit 合作伙伴平台

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 2012-06-20
      相关资源
      最近更新 更多