質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

776閲覧

アプリBASEの商品情報をpythonをつかって取得したい

JOYWALL

総合スコア7

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

1グッド

2クリップ

投稿2020/06/27 00:33

編集2020/06/27 04:35

アプリの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もコマンドプロンプトも初心者です。
なぜうまくいかないのか、もし教えていただけたら、本当に嬉しいです。

どうぞよろしくお願いいたします。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YT0014

2020/06/27 02:31

コードは、コード用のMarkdownでご提示ください。
JOYWALL

2020/06/27 04:58

ご指摘の記述方法を変更してみました。どうぞよろしくお願いいたします。
guest

回答1

0

ベストアンサー

現在のコードだと、定義だけを行い、実行されないので、呼出し処理を追加してください。

Python

1  (前略) 2 driver.quit() 3 4 return code 5 6get_authorize_code() 7

投稿2020/06/27 07:58

YT0014

総合スコア1750

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JOYWALL

2020/06/27 08:57

ありがとうございます!!!! できました!!! 嬉しいです! 本当にありがとうございました!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問