是否有人在与CrateJoy商人API互动的经验周围?
我今天得到了访问密钥,但是,我无法正常工作。
我想做的很简单: - 在页面上显示客户有多少续约。就是这样。
我知道我可以使用商人API(http://docs.cratejoy.com/docs/introduction2(查询此信息。但是,我无法正常工作。
你们中的某人在Cratejoy Merchant API上有任何经验吗?
我尝试使用以下代码:
<script type="text/javascript">
import requests
$.ajax({
url: 'https://api.cratejoy.com/v1/customers/408899124/',
headers: {
'Authorization': 'Basic XXXaccesscodeXXXX',
},
# make the request
response = requests.get(url, auth=auth)
json_data = response.json()['results']
num_subs = json_data['num_subscriptions']
print ' {}: {}'.format(num_subs)
});
</script>
这可能是完全错误的,所以我真的很感谢您的意见。
这是一个jQuery片段,可以获取有关ID为123456789的虚构客户的信息。
<script>
/**
* Handler for ajax success.
*/
function onSuccess(obj) {
console.log(obj);
// here's where you'd do something with the data.
}
/**
* Makes the actual ajax call.
*/
$.ajax({
url: 'https://api.cratejoy.com/v1/customers',
headers: {
'Authorization': 'Basic XXXaccesscodeXXXX'
},
method: 'GET',
data: {
id: '123456789'
},
success: onSuccess
});
<script>
听起来您已经弄清楚了,但是请注意,字符串XXXACCESSCODEXXXX将需要用"用户名:密码"生成的base64编码字符串替换。您可以在base64encode.org上使用该工具生成此编码的字符串。
例如,如果CrateJoy为您提供商户API的用户名是" StackoverFlowbox",并且密码为" BBGBBADJKSAJ123",则转到base64encode.org并输入此...
stackoverflowbox:bbgbbadjksaj123
...然后单击编码。然后复制/粘贴结果字符串,然后在上面的JavaScript中替换xxxaccesscodexxxx。
另一个主要的陷阱:如果您是从浏览器中的HTML页面运行此代码,那么如果它在CrateJoy域之外运行,则会失败。如果您只是构建内部工具,则可以将Chrome与此扩展名一起使用以允许此类请求。
使上述模式工作后,您可以关注商人API文档,开始请求更多信息,例如续订。我还没有自己提取续订信息,所以我不确定该怎么做。但希望这能让您前进。