アプリのBASEをつかって販売している商品を、自分たちのホームページに連携させたいとおもっています。
いろいろ調べて、自分でやってみてるのですが、どうしてもうまく行かず、質問させてもらいました。
以下 ググった情報に沿って、コードをコピペしたものです。
~~~~
Python
1import urllib.parse 2import tkinter, tkinter.filedialog, tkinter.messagebox 3from selenium import webdriver 4 5 6# 認可コードの取得先URL 7GET_AUTH_URL = "https://api.thebase.in/1/oauth/authorize?response_type=" \ 8 "code&client_id=%ID%&redirect_uri=%URI%&scope=%SCOPE%&state=hoge" 9 10''' 11----------------------------------------------------------------- 12 アプリの連携画面を表示し、ユーザーに認証許可を求める 13 許可後、自動的にURLより認可コードを取得して返す 14----------------------------------------------------------------- 15''' 16def get_authorize_code(): 17 # アクセスURLの作成 18 auth_url = GET_AUTH_URL.replace("%ID%","アプリのclient_id") 19 auth_url = auth_url.replace("%URI%",urllib.parse.quote("アプリで設定したコールバックURL", safe='')) 20 auth_url = auth_url.replace("%SCOPE%",urllib.parse.quote("アプリで設定したスコープ"])) 21 22 driver = webdriver.Chrome("./chromedriver.exe") 23 driver.get(auth_url) 24 25 root = tkinter.Tk() 26 root.withdraw() 27 tkinter.messagebox.showinfo( 28 "認証", "アプリの認証ページを表示しました。\n" + 29 "ログイン情報入力後、\n" + 30 "『アプリを認証する』ボタンを押した後のページでOKを押して下さい。") 31 32 # リダイレクト画面の検出 33 while ("アプリで設定したコールバックURL" in driver.current_url) == False: 34 if tkinter.messagebox.askyesno( 35 "BASE API操作ツール", 36 "認証後の画面を確認できません。\n" 37 "処理を中断しますか?") == True: 38 return 39 40 # URLから認可コードの抽出 41 tmp = driver.current_url.split("=")[1] 42 code = tmp.split("&")[0] 43 driver.quit() 44 45 return code
~~~~
上記の
アプリのclient_id
アプリで設定したコールバックURL(2箇所)
アプリで設定したスコープ
の計4箇所を、当方がBASE APIに申請して、もらった値を入力し
また、アプリで設定したスコープという文言のあとの]を削除して、コマンドプロンプトで実行(C:\User\〇〇> python △△.py)すると、何も起きず、C:\User\〇〇>に戻ってしまいます。
pythonもコマンドプロンプトも初心者です。
なぜうまくいかないのか、もし教えていただけたら、本当に嬉しいです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー