MotionEye, MotionEye.eo Dropbox Invalid client_id 直し方

MotionEyeでDropboxにアップロードしようとしたらエラーが出てハマった!なんとか解決したので、さらす。

MotionEyeもMotionEye.eoも同じやり方でOK!

Error (400)!?

It seems the app you were using submitted a bad request. If you would like to report this error to the app’s developer, include the information below.
More details for developers
Invalid client_id: “dropbox_client_id_placeholder”.

誰ですかぁ?わしも分からん!

原因:Client id設定なし!?

アプリ開発者に連絡?MotionEyeの開発者?Dropboxとファイルのやり取りするDropbox APIのIDのことか。探したで。

client_idの取得

https://www.dropbox.com/developers/apps

クリック
このあたり
  • App key      xxxxxxxxxxxxxxx
  • App secret    yyyyyyyyyyyyyyy

これらをMotionEyeにコピペする。

  • App key→クライアントID(CLIENT_ID)
  • App secret→パスワード(CLIENT_NOT_SO_SECRET)

Dropboxの設定が終わっていない人はこちらを参照してやってください。

MotionEyeへの設定

google先生とわしのカンによりuploadservices.pyじゃね?カン言うよりそのままのお名前。

  • sudo find / -name ‘uploadservices.py’

わしのは、ここにあったで。

/usr/local/lib/python3.9/dist-packages/motioneye

変更前にオリジナルをコピーしとこ。

  • sudo cp /usr/local/lib/python3.9/dist-packages/motioneye/uploadservices.py /usr/local/lib/python3.9/dist-packages/motioneye/uploadservices.py.org

変更じゃ。わしはnanoとか言うEditorじゃ。

  • sudo nano /usr/local/lib/python3.9/dist-packages/motioneye/uploadservices.py

クラス名Dropboxを見つけ、以下の変更を加える。(ctrl+wで検索)

エラーメッセージにあるdropbox_client_id_placeholder探すほうがお利口さん。

class Dropbox(UploadService):
    NAME = 'dropbox'

    AUTH_URL = 'https://www.dropbox.com/oauth2/authorize'
    TOKEN_URL = 'https://api.dropboxapi.com/oauth2/token'

#元    CLIENT_ID = 'dropbox_client_id_placeholder'
    CLIENT_ID = 'xxxxxxxxxxxxxxx'
#元    CLIENT_NOT_SO_SECRET = 'dropbox_client_secret_placeholder'
    CLIENT_NOT_SO_SECRET = 'yyyyyyyyyyyyyyy'

    LIST_FOLDER_URL = 'https://api.dropboxapi.com/2/files/list_folder'

赤色のところへ、先ほど調べたやつをコピペ

それにしても、何という変数名!最初分からんかった。

変更を保存したら(ctrl+s,ctrl+x)

MotionEyeのリスタート

  • sudo systemctl restart motioneye

サービスの状態を確認

  • sudo systemctl status motioneye

恐らく、こちらの対応も必要なはず

参考まで

以上



3件のコメント

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です