I am having trouble with Box Spoke.

yyuu
Tera Contributor

Hi all.

I completed the setup by following the Box Spoke instructions in the ServiceNow official. Then I tried to upload the file from FlowDesigner to Box, but it would not run with an error.

find_real_file.png

1 件の受理された解決策

iwai
Giga Sage

(前置きが長いので、急ぎの場合は、結論を下に書いているのでそこから読んでください)

まったく状況がわからないほど情報不足だったので、Box Spoke の様々なアクションの実行結果とその投稿画像を比較して、どのフローアクションの結果なのか探しました。そして、 Box の Upload File が 同様の 実行結果になる事を突き止めました。

どうでしょうか その不具合はBox の Upload File で発生しているでしょうか。

次は 同じ不具合になるように再現実験をしました。 これは偶然にもすぐに同じエラーを再現することができました。再現は出来たものの エラーメッセージもBad Requestとなるだけで、詳細が何もありません。 そこで、curl コマンドを使って 同じ 設定値で Upload File が可能か実行してみました。 この時 開発者トークンを使ってみると 問題なく送信されました。しかし、ServiceNowで取得したトークンでは、別のエラーになりました。これは、私の設定がひとつ間違っていました。間違っていた個所は OAuth の Grant Type を  「Client Credentials」にしていたので、個人フォルダーにアクセスする権限がありませんでした。「Authorization Code」に変更して トークンを再取得したら、curl コマンドで正しく送信できました。

OAuth の 誤りでも様々なエラーを発生させます。 この調査のためには様々な情報と検証が必要です。Communityで質問するときには、なるべくたくさん(可能ならすべて)の情報を提供してください。そして curlコマンドのような別のツールで正しく送信できるところまでは確認できるとさらに良いです。

次は、FlowDesignerでテスト実行しました。curlと同じ設定値でもBad Request で症状変わらず。詳細に調べるため、送信内容確認用のテストサーバーに向けて送信するよう改造してテスト実行しました。するとヘッダーに謎の空のパラメーターを渡していることがわかりました。そこで、Boxのアクションを確認したところ、アクションの設定値の「As User」が空の場合、ヘッダーに誤った空のパラメーターを渡してしまうことがわかりました。問題個所がわかったので、BoxのUpload File を コピーして 問題の個所を修正して 空のパラメーターを送信しないように設定しました。

この方法で成功しました。もし同じ症状ならこの方法で解決します。試してみてください。全く違う状況なら詳細な情報を提供してください。ここまでたどり着くのに仕事終わりに何日も何時間もかかり今 深夜1時半になりました。

結論としては、原因、Box Upload File アクションの設定値の「As User」が空の場合、ヘッダーに誤った空のパラメーターを渡してしまうため、Bad Request になる。

対応策、Box Upload File アクションをコピーして(スコープは必ずBox Spokeでコピーしてください)、ヘッダーの設定で、空なら含めないスイッチをONに設定する。

 

find_real_file.png

 

find_real_file.png

元の投稿で解決策を見る

5件の返信5

Ikeda1
Mega Guru

yyuu
Tera Contributor

返信ありがとうございます。

その記事も見たことがあり、自分の行った手順と照らし合わせてみましたが問題は無さそうでした。

情報が不足していて、これ以上は分からないです。

メッセージを見るとAPIから返されたレスポンスの中にエラーの詳細があるようです。

APIレスポンスの取り扱いが作成されたフローの処理の中で、どのように取り扱われているかはわかりませんが、その内容をまずは確認なさってください。

iwai
Giga Sage

(前置きが長いので、急ぎの場合は、結論を下に書いているのでそこから読んでください)

まったく状況がわからないほど情報不足だったので、Box Spoke の様々なアクションの実行結果とその投稿画像を比較して、どのフローアクションの結果なのか探しました。そして、 Box の Upload File が 同様の 実行結果になる事を突き止めました。

どうでしょうか その不具合はBox の Upload File で発生しているでしょうか。

次は 同じ不具合になるように再現実験をしました。 これは偶然にもすぐに同じエラーを再現することができました。再現は出来たものの エラーメッセージもBad Requestとなるだけで、詳細が何もありません。 そこで、curl コマンドを使って 同じ 設定値で Upload File が可能か実行してみました。 この時 開発者トークンを使ってみると 問題なく送信されました。しかし、ServiceNowで取得したトークンでは、別のエラーになりました。これは、私の設定がひとつ間違っていました。間違っていた個所は OAuth の Grant Type を  「Client Credentials」にしていたので、個人フォルダーにアクセスする権限がありませんでした。「Authorization Code」に変更して トークンを再取得したら、curl コマンドで正しく送信できました。

OAuth の 誤りでも様々なエラーを発生させます。 この調査のためには様々な情報と検証が必要です。Communityで質問するときには、なるべくたくさん(可能ならすべて)の情報を提供してください。そして curlコマンドのような別のツールで正しく送信できるところまでは確認できるとさらに良いです。

次は、FlowDesignerでテスト実行しました。curlと同じ設定値でもBad Request で症状変わらず。詳細に調べるため、送信内容確認用のテストサーバーに向けて送信するよう改造してテスト実行しました。するとヘッダーに謎の空のパラメーターを渡していることがわかりました。そこで、Boxのアクションを確認したところ、アクションの設定値の「As User」が空の場合、ヘッダーに誤った空のパラメーターを渡してしまうことがわかりました。問題個所がわかったので、BoxのUpload File を コピーして 問題の個所を修正して 空のパラメーターを送信しないように設定しました。

この方法で成功しました。もし同じ症状ならこの方法で解決します。試してみてください。全く違う状況なら詳細な情報を提供してください。ここまでたどり着くのに仕事終わりに何日も何時間もかかり今 深夜1時半になりました。

結論としては、原因、Box Upload File アクションの設定値の「As User」が空の場合、ヘッダーに誤った空のパラメーターを渡してしまうため、Bad Request になる。

対応策、Box Upload File アクションをコピーして(スコープは必ずBox Spokeでコピーしてください)、ヘッダーの設定で、空なら含めないスイッチをONに設定する。

 

find_real_file.png

 

find_real_file.png