データフィードを公開する:あなたのキーなしで、あなたのウィジェットが動く
Binance や OANDA の接続の上に作ったウィジェットは、他の人には使えないものでした。これからは、そのウィジェットが実際に行う読み取りだけを、自分のプロフィール配下の読み取り専用・キャッシュ付きエンドポイントとして公開できます — キーは共有せず、オープンプロキシも作らずに。
共有には気まずい穴がありました。自分の OANDA 接続の上に美しい FX チャートを作り、公開する。すると最初にインストールした人が見るのはこのデータを使うには OANDA を接続してください — チャートを一枚見るために証券口座を開いてくれ、と見知らぬ人に丁寧に頼んでいるのと同じです。ライブスクリーンで共有した場合はもっと悪く、ウィジェットはサムネイルのまま凍りついていました。
答えは、誰かにキーを貸すことではありません。ウィジェットが実際に行っている読み取りを、それ自体のエンドポイントとして、自分のプロフィールの下に公開することです。
GET /<ユーザー名>/api/w/<widget>/<endpoint>?symbol=EUR_USD&interval=H1
公開ダイアログの 読み取り専用データフィードを公開 で有効にすると、自分の接続を持たない閲覧者は、接続を求められる代わりにあなたのフィードを読みます。
三つのルール、そのどれもが拒否
共有しても安全な読み取りだけ。 公開できるデータメソッドは 13 個。残りはそれぞれの理由で塞がれています。account と positions も読み取りではありますが、返ってくるのはあなたの残高、純資産、損益、建玉です。order と closePosition はお金を動かします。upsert と delete はデータを壊します。scrape は呼び出しごとに第三者へ課金します。そして素の http はもともと認証情報を持たないので、公開したところであなたの名前がついたオープンプロキシができるだけです。
ウィジェットが実際に行った呼び出しだけ。 ウィジェットの成功した読み取りは動作中に記録され、公開ダイアログはその一覧を見せます — Binance のローソク足 — BTCUSDT、1h — あなたが同意しようとしている具体物として。公開していないパラメータを求めるリクエストや、あなたが広げた集合の外側の値は、何かが復号される前に拒否されます。そもそも URL に入るべきでないパラメータ — SQL クエリ、ベクトル — はそこに現れません。ストレージからそのまま再生されます。
拒否は互いに区別できません。 存在しないエンドポイント、範囲外のパラメータ、あなたが属していない対象範囲 — どれも同じ 404 を返します。友だち限定のフィードが存在するかどうかは、それ自体が作者についての情報だからです。
誰が読めるか、そして何がかかるか
対象範囲は、忘れがちな四つ目のスイッチではありません。告知投稿に従います — 全員、フォロワー、または友だち。非公開の告知はフィードを完全に無効化します。自分しか見られない告知が、他人の呼ぶエンドポイントを支えているのは筋が通らないからです。
コストは理解しておく価値のある部分です。そこがいちばん怖いところだからです。更新間隔を選ぶと — 30 秒ごと、5 分、1 時間、1 日 — それがあなたの接続が使われる上限になります。何人がウィジェットを開いても同じです。読み手はひとつのキャッシュ済みコピーを共有します。閲覧者が 10 人でも 1 万人でも上流への呼び出し回数は同じで、複数の読み手が同じ瞬間にキャッシュを外しても、1 ウィンドウにつき実際に走る更新はちょうど 1 回だけです。
あなたのキーはサーバーから出ません。残高、ポジション、注文が公開されることは決してありません。フィードは出品に紐づいており、ウィジェットを取り下げればエンドポイントは配信を止めます。
閲覧者自身の接続がつねに優先
公開フィードはフォールバックであって、代替ではありません。あなたのウィジェットを開いた人が自分の OANDA 接続を持っていれば、ウィジェットはその人のものを使います。相手の口座、相手のデータ、相手のレート制限です。フィードが参照されるのは、ウィジェットが自前の接続を見つけられなかったあとだけ。しかも見つからなかったときは静かに終わります — 相手にはいつものこのベニューを接続が表示され、新しく覚えるべきエラーは増えません。
これらのエンドポイントは、アプリがすでに備えている実際のベニューアダプターを通ります。ですから公開フィードは、あなたがウィジェットを作ったときに見ていたものと同じ形を返します — カタログの稼働中ベニューすべてで、ベニューごとの専用コードなしに。
あえてしないこと
- 共有されたトレーディングダッシュボードは、チャートは描いても口座パネルは描きません。 それは禁止リストが仕事をしているのであって、不具合ではありません。
- シンボル選択は、あなたが列挙したシンボルしか出しません。 自由入力のウィジェットは固定の集合に縮退します。あなたのブローカーへのオープンプロキシを作らないための代償です。
- プライベートモードの作者はフィードを公開できません。 プライベートモードでは認証情報がこの端末の封の中にしか存在せず、どのサーバーも持っていないため、代わりに更新を実行できるサーバーもありません。
- フォークはフィードを継承しません。 フィードはウィジェットの血統に紐づくので、インストールされたどのコピーも同じエンドポイントを解決し、フォークは何も解決しません。
有効にするのはささいな操作ですが、「公開する」の意味が変わります。あなたが共有したウィジェットは、これからは人が実際に動かせるウィジェットです。
Nexow を開いて、キー付き接続の上に作ったウィジェットを、フィードをオンにして公開してみてください。

