QuickBooks Online API - 添加连接按钮

时间:2013-12-09 15:58:12

标签: jsf intuit-partner-platform quickbooks-online

我正在使用JSF,并在Google Chrome中向我的index.html添加连接按钮,如下所示;

<html xmlns="http://www.w3.org/1999/xhtml"  
 xmlns:ipp=""   
 xmlns:ui="http://java.sun.com/jsf/facelets"    
 xmlns:h="http://java.sun.com/jsf/html"     
 xmlns:f="http://java.sun.com/jsf/core"     
 xmlns:p="http://primefaces.org/ui">

 <f:view>   
 <h:head>       
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>      
 <script type="text/javascript"
   src="https://appcenter.intuit.com/Content/IA/intuit.ipp.anywhere.js">


    intuit.ipp.anywhere.setup({
        menuProxy: 'http://com.example/dispatch/BlueDotMenu',
        grantUrl: 'http://com.example/dispatch/RequestOAuthToken'       }); 

    </script>   </h:head>

 </f:view> 
 </html>

我得到了以下错误;

属性“xmlns:ipp”的值无效。带前缀的命名空间绑定可能不为空。

我可以使用名称空间值吗?

2 个答案:

答案 0 :(得分:1)

我在这里找到了JSF的解决方法。为我工作。

您需要重写一下QBO为按钮和菜单功能提供的JavaScript文件。 你可以download it from here

如果您已经实现了所有OAuth和内容,那么您只需要添加不带“ipp”前缀的标记。只需插入如下:

<connectToIntuit></connectToIntuit>
<blueDot></blueDot>

不需要名称空间。 JSF将忽略未知标记,JS可以将html和事件插入其中。

我也下载了easyUI JS from here。插入你已经下载的JS-es:

<script type="text/javascript" src="#{request.contextPath}/js/jquery/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="#{request.contextPath}/js/intuit.ipp.anywhere.js"></script>

需要插入不低于1.4.4的jQuery版本。

剩下的最后一件事是调用'setup'js-function:

<script>
intuit.ipp.anywhere.setup({
    menuProxy: '#{request.scheme}://#{request.serverName}#{request.contextPath}/qb_blueDotMenu.jsf',
    grantUrl: '#{request.scheme}://#{request.serverName}#{request.contextPath}/qb_requestToken.jsf'
    });
</script>

其中 qb_blueDotMenu.jsf - 是呈现BlueDotMenu的servlet qb_requestToken.jsf - 是获取OAuth请求令牌的RequestTokenServlet,如QuickBooks Sample App中的show。

如果您有疑问,请告诉我。

答案 1 :(得分:0)

这可能已经晚了,但我遇到了同样的问题并通过显示带有

的ipp:connectToIntuit按钮解决了这个问题

<h:outputText value="#{bean.ippConnect}" escape="false"  />