YUKAI / bocco-api-docs

http://api-docs.bocco.me/
0 stars 0 forks source link

内部サーバーエラーの対応方法 #29

Closed HT-2016 closed 7 years ago

HT-2016 commented 7 years ago

curlでBocco APIの検証をしているのですが、チャットルームへのメッセージ投稿時に、下記内部サーバーエラーが発生しております。 対応方法があればご教授頂けないでしょうか。

■エラー内容 下記エラーメッセージがコマンドライン上に表示されました。 {"code":500001,"message":"Internal Server Error"}

一方で、Boccoアプリを開いてチャットルームを見ると、空のメッセージが投稿されております。

■実行内容 チュートリアルと同等の内容を実行いたしました。

$ curl -i "https://api.bocco.me/alpha/rooms/事前に取得したチャットルーム/messages" \ -d "access_token=事前に取得したアクセストークン" \ -d "unique_id=uuidgen" \ -d "media=text" \ -d "text=こんにちはBOCCO!これはAPIテストです。" \ -H "Accept-Language: ja"

■実行環境 Windows7 x64 Cygwin64 Terminal

■実行日時 Fri, 18 Nov 2016 09:35:43 JST

不足する情報などあれば連絡ください。 よろしくお願いいたします。

harajune commented 7 years ago

ご不便おかけします。apiの諸々をしている原田と申します。

いただいた件、エラーの再現してみようと思うのですが文字コードの設定を教えていただけますでしょうか??cygwinにはあまり詳しくないのですが、下記の方法で確認できそうな気がします。

HT-2016 commented 7 years ago

連絡ありがとうございます。 結果、日本語UTF-8です。

$ echo $LANG ja_JP.UTF-8

harajune commented 7 years ago

ありがとうございます。

サーバログをあさってみたところ、9:30~10:00ごろに @HT-2016 さんらしきログを発見しました。 試されていた時間はこのあたりでしょうか?? Incorrect string valueとなっており、文字コードが正しくない値をインサートしようとしているようでした。

おそらくcygwinの何らかの要因によってサーバが受理できるUTF-8で送信できていないものと思います。

お手数ですが、切り分けのため下記を試していただくことは可能でしょうか。

curl -i "https://api.bocco.me/alpha/rooms/事前に取得したチャットルーム/messages" 
-d "access_token=事前に取得したアクセストークン" 
-d "unique_id=`uuidgen`" 
-d "media=text" 
-d "text=`echo -n こんにちはBOCCO!これはAPIテストです。|nkf -w`" 
-H "Accept-Language: ja"
HT-2016 commented 7 years ago

連絡ありがとうございます。 英数字のみの投稿としましたら、エラーなく正常にチャットルームへ投稿できました。

$ curl -i "https://api.bocco.me/alpha/rooms/チャットルーム/messages" \

-d "access_token=アクセストークン" \ -d "unique_id=uuidgen" \ -d "media=text" \ -d "text=testtesttest002" \ -H "Accept-Language: ja" % Total % Received % Xferd Average Speed Time Time Time C Dload Upload Total Spent Left S 100 717 100 561 100 156 499 138 0:00:01 0:00:01 --:--:-- TP/1.1 201 Created Server: Cowboy Connection: keep-alive Content-Type: application/json; charset=utf-8 Vary: Accept-Encoding Date: Fri, 18 Nov 2016 03:56:06 GMT Content-Length: 561 Via: 1.1 vegur

また、恐らくその時間に複数回にわたって連続投稿は私が検証したものだと思います。

harajune commented 7 years ago

ありがとうございます。 やはりtextパラメータの内容に何か原因がありそうです。

このリンクのUTF8のテキストファイルをカレントディレクトリにおいていただいて、下記のコマンドで成功するか確認いただけますでしょうか。

curl -i "https://api.bocco.me/alpha/rooms/ROOM_UUID/messages" \
-d "access_token=YOUR_ACCESS_TOKEN" \
-d "unique_id=`uuidgen`" \
-d "media=text" \
-d "@message_utf8.txt" \
-H "Accept-Language: ja"

ターミナルに直接入力したマルチバイト文字列が想定通り動いていないものと思いますので、UTF-8で明示的にテキストに書き出してそれをデータとして送信する形にしています。手元のcygwin環境では動作確認できました。

HT-2016 commented 7 years ago

連絡ありがとうございます。 早速試したところ、正常に投稿できました。

私のエディタ側の問題かもしれませんので、 他の方で問題なく投稿できればクローズさせて頂きたいと思います。

お手数をおかけしました。

harajune commented 7 years ago

無事投稿できたようでよかったです。こちらのチケットはCloseしますが、エラーメッセージがあまり親切ではないなどの反省もあるので、下記二点について別チケットで継続したいと思います。

また疑問点などありましたら遠慮なくご連絡ください!