ニフティクラウド mobile backendとやりとりするChoregrapheのboxを作成する
7601 ワード
準備するもの
いくつかライブラリを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()
Author And Source
この問題について(ニフティクラウド mobile backendとやりとりするChoregrapheのboxを作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/ykokw/items/c1007a975359c08ab09f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .