準備するもの
いくつかライブラリをChoregrapheプロジェクトのlibフォルダ(なかったら作成)にコピーする必要があります
- petitviolet/py_nifty_cloud: Python wrapper for Nifty Cloud Mobile Backend
- ZIPをダウンロードして、py_nifty_cloudフォルダを追加
- kennethreitz/requests: Python HTTP Requests for Humans™
- ZIPファイルをダウンロードして、requestsフォルダを追加
- PyYAML – PyYAML
- ZIPパッケージをダウンロードして、lib配下のyamlを追加
- ニフティクラウド mobile backendのプロジェクト
- 無料IDを作成し、プロジェクトを作成してください
- APIキーをあとで使います
setup.ymlの用意
APIキーをメモしたsetup.ymlを、プロジェクト直下(manifest.xmlと同じところ)に配置
APPLICATION_KEY: YOUR_APP_KEY
CLIENT_KEY: YOUR_CLIENT_KEY
pythonのboxを作成
以下のサンプルコードでは、postメソッドを利用してデータをmobile backendに送信しています。
実行したあとにmobile backendのダッシュボードを開いて、データが保存されているか確認してください。
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
self.framemanager = ALProxy("ALFrameManager")
self.folderName = None
def onUnload(self):
import sys
if self.folderName and self.folderName in sys.path:
sys.path.remove(self.folderName)
self.folderName = None
def onInput_onStart(self):
import sys, os
self.folderName = os.path.join(self.framemanager.getBehaviorPath(self.behaviorId), "../lib")
if self.folderName not in sys.path:
sys.path.append(self.folderName)
#import
from py_nifty_cloud.nifty_cloud_request import NiftyCloudRequest
# instanciate with yaml file contains APPLICATION KEY and CLIENT KEY
ncr = NiftyCloudRequest(os.path.join(self.framemanager.getBehaviorPath(self.behaviorId), "../setup.yml"))
path = '/classes/TestClass'
method = 'POST'
# post a new recode
values = {'key': 'test'}
response = ncr.post(path=path, query=values)
print(response.status_code)
def onInput_onStop(self):
self.onUnload()
self.onStopped()