2017-07-20 9 views
1

私はワードプレスとwp_remote_getを使用しています。ワードプレスwp_remote_getとKeen.ioイベント作成

イベントのコレクションに投稿しようとすると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

チェックするためにいくつかのもの:?!あなたのキーンプロジェクトのIDでPROJECTNAMEを交換する、このURLが正しくない場合は、一例であるガイド404 –

+0

を生成するあなたはへのオフに行きますthをコンパイルするリクエストですか? 「購入」という配列がありますが、「インストール」というイベントコレクションに投稿するように見えるのは不思議です。どのような種類のイベントを投稿しようとしていますか? –

+0

このコードは正常に動作しているようですが、インストール時にデータが格納されていません –

答えて

0

熱心に投稿すると、おそらく彼らはここに混入されているには2つの方法があります。ここでは

は、私が現在使用しているコードです。

posting a single eventのURLに直接installs URLがある場合は、あなたの身体がインストールイベントのみで、「購入」などのコレクション名は含まれないことが期待されます。 $bucketからpurchaseを削除し、JSONエンコードされたイベントプロパティを持っているだけの場合はどうなりますか?

最終的な要求URLは次のようになり、URLエンコードされたとbase-64でエンコードされたイベント体、例えばどこdataです:おそらく

https://api.keen.io/3.0/projects/PROJECT_ID/events/installs?api_key=WRITE_KEY&data=ENCODED_DATA

あなたがrecording multiple eventsするための方法を使用している、これはコレクションとそのイベントの配列をとります。あなたはその方法を試してみたい場合は、あなたの$bucketpurchases部分を維持し、変更してみてくださいあなたの$keen_urlへ:

https://api.keen.io/3.0/projects/PROJECTNAME/events?api_key=KEY'は(ここで

events/COLLECTION_NAMEは何をそのリクエストの例の要求がeventsに直接送らずに気づきますcURLの中に次のようになります。

$ 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 } 
     ] 
    }' 
関連する問題