当用户单击“连接到QuickBooks”按钮时,如何将用户重定向到自定义页面?

时间:2013-04-24 01:07:08

标签: intuit-partner-platform

因此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;
}

请帮帮我。

2 个答案:

答案 0 :(得分:4)

我认为你不能完全按照自己的要求行事,但你可能会采取不同的方法。

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

我认为你无法在点击按钮后重定向他们,因为一旦他们点击该按钮,他们就会被踢到Intuit的网站,那时你无法控制它

答案 1 :(得分:2)

克莱门特,基思提供了我们希望你追求的答案。您可能无法更改“连接到QuickBooks”按钮的行为。必须按照我们的文档中的描述使用它。提供指向显示高级用户的“连接到QuickBooks”按钮的页面的链接以及向非高级用户发送升级消息的方法。

我强烈建议您访问http://docs.developer.intuit.com/0025_Intuit_Anywhere/0010_Getting_Started/0040_Publishing_Your_App并查看其中的所有文档。如果您考虑到我们的指导方针和要求,它将加快审核流程。

Tony Purmal 开发者关系工程师 Intuit合作伙伴平台