最近我注意到我网站的javascript代码中存在一些性能问题.经过一些分析后,我发现问题是我用来跟踪事件的Marketo Munchking代码.看起来最近他们改变了他们的JS代码,为每次调用发送同步http请求Munchkin.munchkinFunction.相关的代码段是:
a=new XMLHttpRequest;a.open("GET",b,!1); ... a.send();
Run Code Online (Sandbox Code Playgroud)
我用Marketo打开了一张票,但在他们修改代码之前,我正在寻找一种解决方法.我想了几个:
XMLHttpRequest异步?//munchkin.marketo.net/143/munchkin.js.我测试了它并且它有效,但也许我错过了一些东西.有没有更多的解决方法?任何想法都表示赞赏.
更新:
刚收到Marketo支持的回复.他们承认这些电话确实是同步的,但他们声称这是不丢失信息的唯一方法.我想他们会想到Munchkin.munchkinFunction在重定向之前进行调用的情况.我不同意他们,并会要求他们提供替代方案.与此同时,我正在使用旧版本的代码.
更新#2:
得到了他们的支持团队的另一个回复,他说我的想法很好,但他们现在无法实现它们,并且他们希望有一天开发人员能够接受它们......无论如何我在Marketo中创造了一个想法社区.
尝试更新Marketo中潜在客户记录中的数据字段.使用C#.我发送:
{"action":"updateOnly","input":[{"email":"dfranks@gmail.com","leadQuality":"Hot"}]}
Run Code Online (Sandbox Code Playgroud)
并回来:
{"requestId":"d98e#14b2d7dd1f3","success":false,"errors":[{"code":"612","message":"Invalid Content Type"}]}
Run Code Online (Sandbox Code Playgroud)
为何无效的内容类型消息?该领域leadQuality是合法的.电子邮件地址存在.我尝试了许多不同的领域,并且总是使用相同的信息.访问令牌也很好.
当您将Marketo表单嵌入HTML页面时,有没有办法检测Marketo表单何时成功加载?
我想用jQuery操作表单,但是当.ready()事件触发时它并不总是被加载.
有没有人有一个从.net/C#调用Marketo Rest API的例子.
我对oauth认证片特别感兴趣. http://developers.marketo.com/documentation/rest/authentication/
我计划将这个端点称为 http://developers.marketo.com/documentation/rest/get-multiple-leads-by-list-id/
我在互联网上找不到任何例子.
我希望使用他们的Rest Apis获得Marketo的所有潜在客户.有没有办法做到这一点?我已经尝试过getLeadChanges api,但是只返回带有更改字段的潜在客户.
今天早上有人告诉我,我们的一个市场登陆页面在 IE 中没有正确显示。当我检查页面时,没有任何 css 或 js 正在加载,因此它几乎是一个带有一些图像的空页面。
在 IE 中使用开发工具我注意到错误:
SEC7112: Script from http://pages.vistex.com/js/forms2/polyfills/placeholder/placeholder.css was blocked due to mime type mismatch
Run Code Online (Sandbox Code Playgroud)
我正在使用 IE9,浏览器似乎进入了 IE7 标准的 IE 9 兼容性视图。我们确实有一个组策略,强制对我们网络上的域进行兼容性查看。
这可能只是内部网络错误吗?或者这个错误是针对所有用户触发的。我能够从我们的网络中查看 IE11 中的页面,它看起来不错。
html internet-explorer internet-explorer-9 mime-types marketo
我正在尝试使用他们的/rest/v1/leads.json端点在Marketo中创建潜在客户.该过程正在运行,但不会为潜在客户保存2个自定义值 - 但名称,电子邮件,电话等都将保存为新的潜在客户.表单不是Marketo生成的表单,我遇到了这个......
"Munchkin管理页面还允许您启用Munchkin API.使用Munchkin API,您可以将第三方软件与Marketo和您的网站集成;对多媒体播放等事件进行自定义跟踪;并使用您自己的非Marketo生成cookie用户的表单和/或在Marketo数据库中创建新的潜在客户."
如果我使用的是非Marketo生成的表单 - 我是否必须使用Munchkin API?我还注意到管理员的"字段映射"区域中没有太多关于这些自定义字段的内容 - 但我不确定在创建领导或不通过API时是否重要.
这是调用的样子:$ .ajax({type:'POST',url:' https : //xxx-xxx-xxxx.mktorest.com/rest/v1/leads.json?access_token = tokenhere',data :'{"action":"createOnly","lookupField":"email","partitionName":"name","input":[{"firstName":'+ $("#first_name").val() +',"lastName":'+ $("#last_name").val()+',"电子邮件":'+ $("#email").val()+',"电话":'+ $ ("#phone").val()+',"Company":'+ $("#company").val()+',"Country":'+ $("#00NC00000050DlB").val() +',"行业":'+ $("#industry").val()+',"googleclickid":'+ gclid +',"googleVisitorID":'+ accountId +'}]}',dataType:'jsonp' ,crossDomain:true,success:function(data){},contentType:"application/json",dataType:'json'});
(gclid&accountId有值)
字段名XLS如下所示:
googleclickid googleclickid谷歌点击ID
googleVisitorID googleVisitorID Google访客ID
I am trying to add a Marketo form into a Gatsby site but have trouble with the order in which scripts are injected into the page.
When I try to render the component below, I get the error message "ReferenceError: MktoForms2 is not defined".
我尝试注释掉整个 useEffect 代码块,并且组件在没有表单的情况下可以很好地呈现到页面。然后当我将 "MktoForms2.loadForm("//app-sj11.marketo.com", "XXX-XXX-XXX", 1608)" 粘贴到控制台时,表单会按预期显示。
import React, { useEffect } from "react";
import Helmet from "react-helmet";
import "./form.scss";
const FormContactMkto = () => {
useEffect(() => {
MktoForms2.loadForm("//app-sj11.marketo.com", "XXX-XXX-XXX", 1608);
}, []);
return ( …Run Code Online (Sandbox Code Playgroud) 我按照Marketo网站上的" 快速入门指南"了解他们的REST API.这很顺利.我能够从他们的网站获得成功的回复.
请求:
curl https://ABC-DEF-123.mktorest.com/rest/v1/lists.json?access_token=123:ab
Run Code Online (Sandbox Code Playgroud)
响应:
{"requestId":"123#abcf7aff","result":[],"success":true}
Run Code Online (Sandbox Code Playgroud)
但是,当我第二天尝试同样的请求时,我收到了:
{"requestId":"123#abc6731ab6f","success":false,"errors":[{"code":"601","message":"Access token invalid"}]}
Run Code Online (Sandbox Code Playgroud)
我登录到Marketo管理员,发现我从对话框中复制并粘贴的令牌不同.我尝试了这个新的,它工作.
(这取自指南)

我在他们的网站上遇到了另一个描述不同身份验证过程的指南.Marketo身份验证指南
本指南提到从API端点返回的令牌已过期,因此我怀疑所有Marketo令牌都会过期(或者我需要禁用此功能).但是,我无法使用我的客户端ID和客户端密钥成功向此端点发出请求.
请求:
curl https://ABC-DEF-123.mktorest.com/identity/oauth/token?grant_type=client_credentials&client_id=ACLIENTID&client_secret=ACLIENTSECRET
Run Code Online (Sandbox Code Playgroud)
响应:
{"error":"unauthorized","error_description":"An Authentication object was not found in the SecurityContext"}
Run Code Online (Sandbox Code Playgroud)
任何正确方向的帮助将不胜感激.提前致谢.
如何使用'id'的lookupField更新潜在客户?我尝试执行更新但收到'1003 - 字段'id'不允许'错误.以下是我的请求数据供参考.
{
"action": "updateOnly",
"lookupfield": "id",
"input": [
{
"id": "11",
"Company": "TestCompany",
"NumberOfEmployees": "100"
}
]
}
Run Code Online (Sandbox Code Playgroud)