我正在使用Google电子表格从Campaign Monitor获取订阅者数据,但是我遇到了一个问题
使用ImportJSON脚本 - http://blog.fastfedora.com/projects/import-json
我把网址:http:// [APIKEY]:[PASSWORD] @ api.createsend.com / api / v3 / subscribers / [LISTID] .json?email = [EMAILADDRESS]
然而,它在单元格中给出了“错误请求”错误。我猜这是因为如果我把这个网址放在浏览器中,我会收到一个确认弹出框,上面写着“你即将以用户名:[USERNAME]”登录网站“api.createsend.com”/ p>
我可以获得一些想法,了解如何绕过这个或其他方式将Campaign Monitor JSON放入Google电子表格中
答案 0 :(得分:4)
我从Joey @找到了一条有用的评论on the homepage 2014年3月19日下午5:18(没有永久链接)。
URL中的基本身份验证不是由脚本访问的Spreadsheet API实现的。您可以通过使用Base64编码的用户名和密码传递fetchOptions来解决这个问题。
我修改它以删除虚拟变量并取得了一些成功。
将此添加到ImportJSON Script Editor code的最后:
function ImportJSONBasicAuthentication(url, query, parseOptions, username, password) {
var fetchOptions = {
"headers" : {
"Authorization" : 'Basic ' + Utilities.base64Encode(username + ':' + password)
},
muteHttpExceptions: true
};
return ImportJSONAdvanced(url, fetchOptions, query, parseOptions, includeXPath_, defaultTransform_);
}
答案 1 :(得分:0)
我看到您的身份验证屏幕出现问题。因此,我会尝试不同的方法:
正如他们API documentation中所述,您可以在自己拥有的服务器上设置其可用于其API的wrappers,而不是使用API密钥查询其网址。然后你可以在那里进行身份验证(example in python)并向你自己的服务器发出请求。
我喜欢将Flask用于这类事情,因为它非常轻巧且易于上手。
希望这可以帮助你开始!