問題タブ [nest-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nest-api - ポート 9553 (Firebase から) が Web ホストによってブロックされ、代替ポート経由で cURL を正常に実行する方法が見つからない
私は PHP と cURL を REST API で使用しています。最初の Nest Developer API エンドポイントを cURL できますが、Firebase の URL にリダイレクトすると、Web ホストがブロックしたポート 9553 を経由します (開かれる可能性もありません)。 . 接続がタイムアウトし、「ホストに接続できませんでした」というエラーがスローされます。
私のコードは正常に動作しており、ローカル サーバーで問題なく実行できます。
cURL を初めて使用する場合、どのようなオプションがありますか? 問題は、Firebaseが使用を主張しているポートにあるようです。:80 と :443 を超えるさまざまな場所を問題なく cURL できますが、Firebase の URL だけではありません。データにアクセスするためにプロキシを介して実行する必要がありますか?
それとも、Firebase の PHP ライブラリを使用することで解決される可能性がありますか? 必要がなければ、それを使用することにあまり興味がありません.cURLはうまく機能しますが、それがどのように機能するかはわかりません。
firebase - FireBase、ネスト。curl を使用して GET はできますが、PATCH はできません。400 エラーが発生するのはなぜですか?
developer-api.nest.com サイトの URL を使用していますが、リクエストは firebase-apiserver01...01.dapi.production.nest.com にリダイレクトされます。
次の dos コマンドを使用して、正しい構造化データを取得します: curl -v -k -L -X GET " "
この PATCH curl -v -k -L -X PATCH " https://developer-api.nest.com/structures/Za6hCZpmt4g6mBTaaA96yuY87lzLtsucYjbxW_b_thAuJJ7oUOelKA/?auth=c.om2... AeiE " -H "Content-Type: application/json" -d '{"away":"home"}'
疑問符の前に「.json」を追加しようとしましたが、同じエラーが発生します。
firebase - (サンプル コードの誤字) 「child_changed」の代わりに「change」を使用してデバイスを監視する
私はネストのサンプルコードを調べていました.javascript/smoke_alarmの例でalarm.on('change', function(snapshot) {...}
は、alarm.on('child_changed', function(snapshot) {...}
.
firebase docs'change'
にドキュメントが表示されず、使用するとエラーが発生します。
これはサンプル コードの単なるバグalarm.on('child_changed', function(snapshot) {...}
ですか? または、何か不足していますか?
node.js - 継続的なサーバー側の Firebase モニタリングの方法 (Web アプリ)
Firebase ライブラリを使用して巣の更新を継続的に監視する Web アプリのプロトタイプを作成しています。その方法について説明したいと思います。Nest には、ネスト開発者向けにユーザー側の JavaScript を使用するモバイル アプリと Web アプリの例がありますが、継続的な監視を実装する node.js を使用する例はありません。実際の例の代わりに、ここでいくつかのアイデアについて説明したいと思います。
私がやりたいことの例: 煙探知器が鳴ったら、私と私の家族に一斉に電子メールを送信したいと思います (一斉送信のメカニズムは重要ではありません)。私は node.js と express.js を使用していますが、自宅を監視するために Web ページを開いたままにしておく必要はありません。したがって、サーバー側で監視を実装したいと考えています。
私の現在の計画は、機能をルートコントローラーで使用するクラスに組み込むことです。これにより、ユーザーは URL にリクエストを発行して監視を有効にし、ユーザーが Web サイトを離れた後も接続と関連データを保持できるようになります。私のテストでは、Web アプリはネストから切断した後もネストを監視し続けますが、接続が最終的にタイムアウトになるかどうかはわかりません。とにかく、接続の問題はよくあることなので、とにかく対処する必要があります。
だからここに私が考えている一般的な質問があります:
監視コードをルート/コントローラーに配置することは適切ですか? それとも、Ruby on Rails (RESTful ストリーミングの使用について何か見たことがあります) のような別のフレームワークは、継続的な監視に適していますか?
接続を監視するためのオーバーヘッド データ (device_ID など) をどのように格納する必要がありますか? 「接続」オブジェクトを作成するよりも、オーバーヘッド データを格納するためのより良い方法はありますか?
最後に、監視接続は最終的にタイムアウトになりますか? とにかく、中断された接続を再確立する方法はありますか (のドキュメントを読みました.onDisconnect
が、カスタム コールバックは許可されませんでした)。
java - curl -d と同様に REST に配置された Android Http
curl -d "65" を Java httpput エントリに変換するにはどうすればよいですか? Java Apache http ライブラリを使用して、このリンクの Java への curl コマンドを実行する必要があります。
カールコマンドは次のとおりです。
curl -v -L -X PUT " https://developer-api.nest.com/devices/thermostats/THERMOSTAT_ID/target_temperature_f?auth=AUTH_CODE " -H "Content-Type: application/json" -d "65"
ここに私のJavaコードがあります:
android - Java/Android コードを介して Nest フィールド値を設定する際の問題
新しくリリースされた API を使用して、Nest サーモスタットのフィールドを変更する Android コードを作成しています。認証とフィールド値の取得は完璧に機能していますが、フィールド値の変更に問題があります。フィールド値を変更するための API に基づいて、HTTP put を使用する必要がありますが、これを実行すると、デバイスで何も起こりません (値 (たとえば、target_temperature_f の値は変更されません!))。
ここに私のアンドロイドコードがあります:
ただし、Linuxでは「curl」コマンドを使用してデバイスにフィールドを設定できます!! したがって、デバイスは正常に動作しています。
どんな助けでも大歓迎です!
firebase - firebase 接続がタイムアウトし続けるのはなぜですか?
Node.js Web アプリを使用して Firebase に接続しようとしていますが、先週の金曜日から、断続的にアプリが Firebase からデータを受信せず、タイムアウトするという問題が発生し始めました。それはfirebaseの問題だと思いますが、安全のために、正常に機能していた古い/単純なバージョンに戻しました。ただし、私の古いバージョンも機能しませんでした。
デバッグのために、私は「テスト」シナリオに焦点を当ててきました。私の app.js ファイルにはルートがapp.get('/listener/test', listener.test);
あり、リスナールートには次のものがあります。
ただし、に行くと/listener/test
、コンソール出力しかありません。
メッセージFirebase Authentication Error: ...
もFirebase Authentication Success
ログも記録されていないため、認証が完了していないことを意味していると思います。
それは健全な論理ですか?もしそうなら、私はそれを修正/対処する方法がわからないからです. これについての考えやアイデア、または別の説明をいただければ幸いです。また、似たような経験をした人はいますか?特に2014年8月1日頃から?