読者です 読者をやめる 読者になる 読者になる

Open X-Callback URL

ブログ移転のお知らせ

このブログは下記URLへ移転しました!

https://iosautomation.net/blog/


Workflow for iOS Wikiの移転先はこちら。

https://iosautomation.net/wiki/

f:id:four_or_three:20160319000818j:plain:w250

加筆、修正しました(2016年4月30日)

x-callbackで記述されたURLを開くアクションではありません。inputされたURLに、

"&x-success=workflow:&x-error=workflow:&x-cancel=workflow:&x-source=Workflow"

を自動で付加した後、開くアクションです。
ジャンプする前に必要なアクション"Continue Workflow in App"と、戻ってきてから処理を継続するために必要なアクション"Wait to Return"の機能もこのアクションに内蔵されています。
これらがなぜ必要なのかは、其々の項で説明します。
x-success等で戻る先はフロー内(このアクションの下流)に固定されていますので、別のアプリやワークフローに遷移したい場合は通常の"Open URLs"を使用します。

[Result]には、呼び出したアプリがx-successに吐き出したテキストが出力されます。 アプリから複数のテキスト吐き出された場合は、[Result]にはdictionaryとして出力されます。
(x-successに何も乗っかっていない場合はNothing)

(Custom Callback)
このアクションで呼び出すアプリがx-callback-urlの仕様に準拠していないkeyを定めている場合に使用します。例えば、x-successではなく、x-saitoというキーをアプリが独自に定めているとすると、Custom CallbackをオンにしてSuccess Keyに"x-saito"と入力するとうまく動作するようです。

(Custom X-Success URL)
x-success=workflow:
この赤字の部分を別のアプリへ変更するための機能ではありません
カスタムURLに別のアプリのURLスキームを書き入れても何も起こりません。

ここから先はよくわかっていないので推測です。

カスタムURLの記述例:
workflow://callback?X=a&Y=b
(workflow://の部分は省略可)

"callback?"に続いて、keyとvalueのペア(Dictionary)を記述します。この例では、XとYがkey、aとbがvalueです。 この"X=a&Y=b"というDictionaryに、呼び出したアプリの戻り値を加えてResultに出力します。 例2を参考にしてください。

[Input](単体)
URL

[Result]
テキスト、Dictionary


(例1)

f:id:four_or_three:20160319001128j:plain:w250

Dueで"sample"というタイトルのリマインダーを作成した後、フローに帰還します。同様のことをOpen URLsでやると、下のようになります。

f:id:four_or_three:20160319001148j:plain:w250

(例2)

f:id:four_or_three:20160501122125p:plain:w250

f:id:four_or_three:20160501012111p:plain:w250

Draftsで指定したUUIDのドキュメントの内容を取得し、戻ってくるだけのフローです。
X-Success URL には"callback?X=1&Y=2"と記述しています。
Draftsからの戻り値にドキュメントの全文が含まれていますので、その値が"X=1&Y=2"に追加され、"X=1&Y=2&text=Hello World"が出力されます(textというkeyはDraftsによるパラメータ名)。

広告を非表示にする