2017-02-21 7 views
0

GeckoboardはデータセットAPIに接続するためのthis documentationを提供しています。geckoboardを利用するためにpythonからnode.jsへポストリクエストを送信するには?

var API_KEY = 'API_KEY'; 

var gb = require('geckoboard')(
    API_KEY 
); 


gb.datasets.findOrCreate(
    { 
    id: 'sales.by_day', 
    fields: { 
     quantity: { 
     type: 'number', 
     name: 'Number of sales' 
     }, 
     gross: { 
     type: 'money', 
     name: 'Gross value of sales', 
     currency_code: "USD" 
     }, 
     date: { 
     type: 'date', 
     name: 'Date' 
     } 
    } 
    }, 
    function (err, dataset) { 
    if (err) { 
     console.error(err); 
     return; 
    } 
    dataset.put(
     [ 
     { date: '2016-01-01', quantity: 819, gross: 2457000 }, 
     { date: '2016-01-02', quantity: 409, gross: 1227000 }, 
     { date: '2016-01-03', quantity: 164, gross: 492000 } 
     ], 
     function (err) { 
     if (err) { 
      console.error(err); 
      return; 
     } 

     console.log('Dataset created and data added'); 
     } 
    ); 
    } 
); 

この追加データをPython(node.jsを使用せず)経由で投稿する方法があるかどうかを確認したいと思います。このようなことが可能か、モードを使用する必要がありますか?

[ 
    { date: '2017-01-01', quantity: 1213, gross: 23423 }, 
    { date: '2017-01-02', quantity: 111, gross: 1313123 }, 
    { date: '2017-01-03', quantity: 333, gross: 21314 } 
] 
+0

私はあなたが次のようなものを探していると思う:https://pypi.python.org/pypi/geckoboard/0.8.6 – Stats4224

+0

それを行うにはたくさんの方法がある: 'requests'、' httplib'、 'urllibあなたはこれまでに何か試しましたか? – Marat

+0

関連記事もご覧ください:http://stackoverflow.com/questions/31133708/python-script-to-post-data-to-geckoboard – Stats4224

答えて

2

GeckoboardのDatasets APIでPythonを使用することは間違いありません。 GecoboardはこれまでRubyとNode向けの公式ライブラリを公開していましたが、JSONでHTTPSリクエストを実行できる言語やプラットフォームを使用できます。

編集:私は、以下の簡単な例を作ったが、後でこの発見:あなただけに必要要するにhttps://github.com/helium/geckoboard-python/

schemaオブジェクトhttps://api.geckoboard.com/datasetsへと

  • PUTデータセットを作成するに
  • PUTdataの配列をhttps://api.geckoboard.com/datasets/:idと置き換えて、データセット内のすべてのデータを置き換えます。
  • 私はあまり書かれていない - これらの要求がで概説されているhttps://api.geckoboard.com/datasets/:idにデータセット

  • DELETE内のデータに追加するhttps://api.geckoboard.com/datasets/:iddata配列データセットに

を削除するとこれは非常にPythonではないかもしれませんが、requestsライブラリを使用してrequestsライブラリを使用して、GeckoboardライブラリをPythonで作成する方法があります:

import requests 

    class Geckoboard(object): 
      def __init__(self, api_key): 
        self.api_key = api_key 

      def create(self, name, schema): 
        url = 'https://api.geckoboard.com/datasets/%s' % name 
        return requests.put(url, json=schema, auth=(self.api_key, '')) 

      def delete(self, name): 
        url = 'https://api.geckoboard.com/datasets/%s' % name 
        return request.delete(url, auth=(self.api_key, '')) 

      def replace(self, name, data): 
        url = 'https://api.geckoboard.com/datasets/%s/data' % name 
        return requests.put(url, json=data, auth=(self.api_key, '')) 

      def append(self, name, data): 
        url = 'https://api.geckoboard.com/datasets/%s/data' % name 
        return requests.post(url, json=data, auth=(self.api_key, '')) 
+1

ありがとう!私は置換関数を使用しようとしました:{{'date': '2016-01-01'、 'quantity':819、 'gross':2457000}、{'date': '2016-01 '02 '、' quantity ':409、' gross ':1227000}、{' date ':' 2016-01-03 '、' quantity ':164、' gross ':492000}]ただし、次のエラーが表示されます。{u'error ':{u'message':u'Invalid JSONがサーバーによって受信されました。 '} – Chris

+1

私はそれを理解したと思います!データ入力は{'日付': '2016-01-01'、 '数量':819、 '総額:2457000}、{'日付 ':'2016-01-02'、 'quantity':409、 'gross':1227000}、{'date': '2016-01-03'、 'quantity':164、 'gross':492000}]} – Chris

+0

それをもっと明確にしていなかった –

関連する問題