スペースに保存してください。コードの一部を投稿します。第二に、私はPythonのコーダーではありません。私は通常C#です。だから私は特にスイッチのステートメントがないことを知ったときに最善を尽くした。Lifx APIを呼び出そうとしましたが、あるケースでエラーが発生しましたが、他のケースでエラーが発生しました。
私はクラス内でLifx Cloud APIと話す方法が1つあり、うまくいきます。
def GetAllLifxs(self):
selector = 'all';
uri = '%s%s' % (self._baseUri, selector)
response = requests.get(uri, headers = self._headers)
result = LifxProxyResult(999, {})
if response:
result = LifxProxyResult(response.status_code, json.loads(response.text))
return result
上記のコードは、APIのURLを打つ終わる:https://api.lifx.com/v1/lights/all
私は(これは、この同じ問題を持っている唯一の方法ではありません)をコールするトグルAPIコールをしようとしています。私はまだいくつかの異なるselectors
を試してみました。
トグルコードのようなある:
def ToggleLight(self, value, selectorType = 'all'):
if not selectorType == 'all':
if value == None:
raise TypeError('[value] cannot be None.')
typeSwitch = {
'id': 'id:%s' % value,
'label': 'label:%s' % value,
'group_id': 'group_id:%s' % value,
'group': 'group:%s' % value,
'location_id': 'location_id:%s' % value,
'location': 'location:%s' % value,
'scene_id': 'scene_id:%s' % value
}
#If nothing just for fun Toggle ALL lights
selector = '%s/toggle' % typeSwitch.get(selectorType, 'all')
uri = '%s%s' % (self._baseUri, selector)
response = requests.get(uri, headers = self._headers)
return response
三つの試みはResponse Code of 404
を有します。それぞれの場合にToggleLight
メソッドがこれらのURLを生成します。 https://api.lifx.com/v1/lights/id:d073d5127a6e/toggle
私はToggleLight
メソッドを呼び出すときにそれらのどれも動作しません。しかし、ここはキッカーです。 URLを生成したURLをこのプレーンなPythonファイルにコピーして関数を実行し、ライトを適切に操作します。
import requests
token = "MyMagicKeyHere"
headers = {
"Authorization": "Bearer %s" % token,
}
response = requests.post('https://api.lifx.com/v1/lights/label:DreLight/toggle', headers=headers)
私は自分の問題点を理解していません。トークンでヘッダー情報を設定して機能させる関数はすべてのメソッドで同じですので、私はそれがそうであるとは思いません。
2番目の目をお待ちしております。ビジネス。
EDIT:--------------------- 答えに沿って私は与えられた方法チャートと私が入力したものに細心の注意を払うことができました。私はかなりばかげた(新しい言葉)を台無しにしました。レッスンここで子供たちはあなたがつまって戻って来るときに離れて歩いています。より多くの凝視は役に立たない。
'ToggleLight'メソッドでは' requests.get'を呼び出していますが、スタンドアロンファイルでは 'requests.post'を使っています。あなたは 'ToggleLight'でそれを使ってみましたか? – Gerrat
@Gerrat一日中扱った後、私は馬鹿だと感じる。あなたのコメントをあなたの正しい点を主張できるように答えに変換してください。 –
私はあなたの痛みを感じる - 我々はすべてそこにいた:) – Gerrat