因此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;
}
请帮帮我。
答案 0 :(得分:4)
我认为你不能完全按照自己的要求行事,但你可能会采取不同的方法。
而不是尝试在之后重新定位他们点击按钮,为什么不在他们点击它之前尝试重定向 ?例如当他们试图访问具有“连接到QuickBooks”按钮的页面时,检查它们是否是那里的高级用户,如果不是,则重定向它们。
我认为你无法在点击按钮后重定向他们,因为一旦他们点击该按钮,他们就会被踢到Intuit的网站,那时你无法控制它
答案 1 :(得分:2)
我强烈建议您访问http://docs.developer.intuit.com/0025_Intuit_Anywhere/0010_Getting_Started/0040_Publishing_Your_App并查看其中的所有文档。如果您考虑到我们的指导方针和要求,它将加快审核流程。
Tony Purmal 开发者关系工程师 Intuit合作伙伴平台