我正在使用WordPress和wp_remote_get
。
我一直收到404错误,试图发布到我的活动收集中,我不确定我是否做得对。
以下是我目前正在使用的代码:
$bucket = array( 'purchase' => json_encode( $options ) );
$keen_url = 'https://api.keen.io/3.0/projects/PROJECTNAME/events/installs?api_key=KEY';
$headers = array(
'Content-Type' => 'application/json'
);
$response = wp_safe_remote_get( $keen_url, array( 'headers' => $headers, 'body' => $bucket ) );
die( '<pre>' . print_r( $response, true ) );
答案 0 :(得分:0)
有两种方法可以发布到Keen,也许他们在这里混合了。
如果您posting a single event直接installs
到达purchase
网址,我希望您的正文只能作为安装活动本身,而不包含像#34;购买&#的收藏品名称34 ;.如果您从$bucket
中删除data
并且只拥有JSON编码的事件属性,该怎么办?
您的最终请求网址如下所示,其中https://api.keen.io/3.0/projects/PROJECT_ID/events/installs?api_key=WRITE_KEY&data=ENCODED_DATA
是网址编码的AND-base-64编码事件正文,例如:
purchases
也许你正在使用recording multiple events的方法,它采用了一系列集合及其事件。如果您想尝试该方法,请将$bucket
部分保留在$keen_url
中,并尝试将https://api.keen.io/3.0/projects/PROJECTNAME/events?api_key=KEY'
修改为:
events
(请注意,请求直接发送到events/COLLECTION_NAME
而不是$ curl https://api.keen.io/3.0/projects/PROJECT_ID/events \
-H 'Authorization: WRITE_KEY' \
-H 'Content-Type: application/json' \
-d '{
"signups": [
{ "name" : "bob" },
{ "name" : "mary" }
],
"purchases": [
{ "price": 10 },
{ "price": 20 }
]
}'
以下是cURL中该请求的示例:
{
"places": {
"a": {
"city": "Madrid"
},
"b": {
"city": "Madrid"
},
"c": {
"city": "SomeCity"
}
}
}