首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用纯javascript从infusionsoft检索数据到DOMO

使用纯javascript从infusionsoft检索数据到DOMO
EN

Stack Overflow用户
提问于 2017-03-12 00:55:45
回答 1查看 265关注 0票数 1

我正在尝试在DOMO中创建自定义连接器,以便从infusionsoft检索数据。在DOMO IDE中,我只能使用纯javascript。下面的代码是我写来向infusionsoft的XML-RPC Api发出请求的代码,但是我得到了错误代码响应。DOMO Ide中不支持Xmlhttprequest。

代码语言:javascript
复制
var xml = '<?xml version="1.0" encoding="UTF-8"?>'+
'<methodCall>'+
  '<methodName>DataService.query</methodName>'+
  '<params>'+
    '<param>'+
      '<value><string>xxxxxxxxxxxxxxxxxxx</string></value>'+
    '</param>'+
    '<param>'+
      '<value><string>Invoice</string></value>'+
    '</param>'+
    '<param>'+
      '<value><int>1000</int></value>'+
    '</param>'+
    '<param>'+
      '<value><int>0</int></value>'+
    '</param>'+
    '<param>'+
      '<value><struct>'+
        '<member><name>Id</name>'+
          '<value><string>[1,2,3,4]</string></value>'+
        '</member>'+
      '</struct></value>'+
    '</param>'+
    '<param>'+
      '<value><array>'+
        '<data>'+
          '<value><string>Id</string></value>'+
          '</data>'+
      '</array></value>'+
    '</param>'+
    '<param>'+
      '<value><string>orderBy</string></value>'+
    '</param>'+
    '<param>'+
      '<value><boolean>ascending</boolean></value>'+
    '</param>'+
  '</params>'+
'</methodCall>';
httprequest.addHeader('Content-Type', 'application/xml');
httprequest.addParameter('xml', xml);

var res = httprequest.post('https://api.infusionsoft.com/crm/xmlrpc/v1?access_token='+metadata.account.accesstoken);
    DOMO.log(res)

我得到的回应是:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?><methodResponse><fault><value><struct><member><name>faultCode</name><value><i4>0</i4></value></member><member><name>faultString</name><value>Failed to parse XML-RPC request: Content is not allowed in prolog.</value></member></struct></value></fault></methodResponse>
EN

回答 1

Stack Overflow用户

发布于 2017-04-05 23:09:57

"Content is not allowed in prolog“错误意味着您在XML声明之前传输某些内容。因为您将XML作为参数添加,所以请求将以"xml=" + xml的形式提交。

只需将xml作为第二个参数传递给post请求即可。

代码语言:javascript
复制
httprequest.addHeader('Content-Type', 'application/xml');
var res = httprequest.post('https://api.infusionsoft.com/crm/xmlrpc/v1?access_token='+metadata.account.accesstoken, xml);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42737984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档