メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

LINE Messaging APIのためにBotアカウントを追加で登録しようと思ったら失敗した

経緯はコチラ

ryoichi0102.hatenablog.com

久しぶりにLINEにログイン…

知らないと迷うのですが、LINE@MANAGERと、Line Developersと画面が2つあります。ログインしてこの画面でアカウント一覧を表示させても、追加ボタンがなく困りました。

f:id:ryoichi0102:20180912145923p:plain
https://admin-official.line.me

アカウントがあろうがログイン済だろうが、トップ画面から登録しないといけないのですね。。。

f:id:ryoichi0102:20180912150808p:plain
https://at.line.me/jp/

ここから登録するとうまくいかない

ここ注意です!ここで紹介しているのは間違えた手順です。
正しくは↓コチラ↓

ryoichi0102.hatenablog.com

"一般アカウントを作成する" をクリック。設定したのは"表示アカウント名"の方で、"LINE@ID"はランダムなんですね。

f:id:ryoichi0102:20180912181759p:plain

必要な情報を入力します

アカウント名、業種を入力します。
業種は今回はテスト用だったので、個人(その他)を選択。
"確認する"ボタンをクリックしたら、確認画面が出ますので、"完了"ボタンをクリックすればLINE@アカウントの作成は完了です。

f:id:ryoichi0102:20180912182207p:plain

これで完了です。"LINE@MANAGERへログイン"ボタンをクリック

さきほど入力したアカウント名はLINE IDではない所も少し紛らわしいですね。LINE IDは"LINE@ID"の部分に表示されています。ただ、このIDでLINEアプリから検索しても候補に出ませんね。。(後に表示されるQRコードで追加します)

f:id:ryoichi0102:20180912184214p:plain

同意

f:id:ryoichi0102:20180912184626p:plain

作ったアカウントは自動的に友達になっています

f:id:ryoichi0102:20180912185012p:plain

LINE@MANAGERへログインするとこんな感じになっています

ここで左側サイドメニュー下に、"アカウント設定" ⇒ "Messaging API設定" がありますのでクリックします。

f:id:ryoichi0102:20180912185614p:plain

プロバイダーを選択して"APIを利用する"をクリック

f:id:ryoichi0102:20180912205613p:plain

ちょっと脅されますが、そのまま"確認"をクリック

f:id:ryoichi0102:20180912205629p:plain

成功しました

f:id:ryoichi0102:20180912210040p:plain

Messaging API設定が表示されます。

ここです。。ここで、REPLY_MESSAGEしか表示されておらず、POST_MESSAGEが無いのです。そして、Webhook送信 "利用する" が選択できない。。

f:id:ryoichi0102:20180912210322p:plain

"LINE Developers で設定する" をクリックして、LINE Developersで設定してみるも

LINE@MANAGERではLINE Developersで設定とあるのですが、ここでWebhookの設定をしても、POST_MESSAGEが設定されません。。

f:id:ryoichi0102:20180913015713p:plain

 

と、いうことでアカウントを削除して作り直しました。。。

 

Windows cmdでsc.exeのstopとstartを組み合わせてサービスのrestart

サービスを操作するには net か sc コマンド

Windowsサービスの開始・終了をコマンドで行う場合にはnetコマンドかscコマンドを使います。これらの違いとしてそれぞれ下記のような違いあります。

・netコマンドは同期的
・scコマンドは非同期的

つまり、netコマンドは実行終了まで待つが、scコマンドは待たない。

・netコマンドはリモートのサービスは操作できない
・scコマンドはリモートOK

scでリモートのサービスを再起動(restart)したい

Jenkinsなど、別マシンからWindowsサービスを操作したいことがあると思います。
前述のとおり、リモートのサービスの場合scコマンドを使います。

ただ、scコマンドにはstartとstopしかなく
sc stop ServiceName
sc start ServiceName
と実行しても、scが非同期なので、stop処理が完全に終了する前に次のコマンド実行に流れてしまい、sc startコマンドの実行時点ではサービスが終了しきっていないというエラーになります。

sc stopを同期的に同期的に使用するためには、下記のように do-while ループを回し、その中で query の結果が STOPPED になるのを待ちます。

sc \\【IPアドレス stop 【サービス名】

:DoWhile
	sc sc \\【IPアドレス query 【サービス名】 | findstr STATE | findstr STOPPED
	if %ERRORLEVEL% EQU 0 goto DoWhileExit
goto DoWhile
:DoWhileExit

sc \\【IPアドレス start 【サービス名】

cmd不便です。。
これでとりあえずしのぎました。

参考

7. バッチ処理とフローチャート
http://mapplio.info/flo/flo_lecture2/bat_charpter.html#do-while

neos21.hatenablog.com

tipstour.net

ChromeでGoogleの検索結果のページ表示時に最下部にスクロールされる

Google Chromeのバグなのかと思っていたら

Google Chromeを使用して、Googleの検索結果のページを開いた時に、表示直後に最下部にスクロールされる現象に出くわしました。。。不便。

同じ現象の方をTwitterで調べてみたらいらっしゃいました。

最初はGoogle Chromeのバグなのかな、、と思っていたのですが、よくよく見るとカーソルが最下部のページングの所にあたってるじゃないっすか。
フォーカスがここに移動しているためにスクロールされてしまっていることに気づきました。

f:id:ryoichi0102:20180830193159p:plain

そうそうカーソルといえば、こんなプラグインを以前入れたんでした。
知らないと損するChromeでのGoogle検索のショートカット - メンチカツには醤油でしょ!!

f:id:ryoichi0102:20180830192459p:plain

とりあえず拡張機能を無効に・・・

再現する環境としない環境があり・・・再インストールしても同じ。