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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Python

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

Q&A

解決済

1回答

1140閲覧

PythonでGoogleCalenderから予定を取り出す際に承認エラーが発生する。

man_

総合スコア45

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Python

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

0グッド

0クリップ

投稿2021/01/23 08:05

#やりたいこと
GoogleCalenderから予定を取得するプログラムを作成したい。

実行環境
Anaconda3
Python 3.8.3
OS:windows10

#躓いている点
以下のQiitaの記事を参考に実行したところ承認エラーが発生しました。
Qiitaの記事:https://qiita.com/lobmto/items/c1a220a12ec9c1fad560

エラー内容を以下に示します。
プログラムは記事をそのまま参考にし実行しました。
また、記事と異なる点として、「OAuthクライアントIDの作成」で選択するアプリケーションの種類にその他が無かったためウェブアプリケーションを選択しました。

有識者の方、ご助力お願いします。

Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=495933827016-1kvm3lba6ubvvfvk602e632is6vmatqb.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly&state=fKjDt4e0Mdr1i9BauYietoKXJVb43W&access_type=offline

イメージ説明

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

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

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

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

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

Daregada

2021/01/23 11:50

> プログラムは記事をそのまま参考にし実行しました。 Oauth2認証用のjsonをダウンロードし、credentials.jsonという名前に変更して、Pythonのコードと同じ場所に置いてありますか? 記事に書いていないが必要な「OAuth同意画面」の設定と、テストユーザーの登録はしてありますか?
man_

2021/01/23 12:42

Daregadaさん質問ありがとうございます。 jsonファイルは名前を変更し同じ場所に保存しています。 記事に書いていない部分に関しては行っていません。 その内容を具体的に教えていただけますでしょうか?
man_

2021/01/23 12:49

OAuth同意画面で、アプリ名とユーザーサポートメールの設定は行いました。
Daregada

2021/01/23 12:57 編集

おっと、質問文には書いてないけど、その設定は行なったんですね。その2つ先ぐらい「保存して次へ」を押したところに、「テストユーザー」の登録がありますが、登録していますか?
Daregada

2021/01/23 13:03

種類を「ウェブアプリケーション」にしたら問題が再現したので、回答を書きます。
guest

回答1

0

ベストアンサー

また、記事と異なる点として、「OAuthクライアントIDの作成」で選択するアプリケーションの種類にその他が無かったためウェブアプリケーションを選択しました。

これが原因ですね。こちらでも「ウェブアプリケーション」を選択したら問題が再現しました。パソコンの端末画面で動作させるプログラム(リンク先のテストコードなど)はどう考えてもウェブアプリケーションではないですよね。

アプリケーションの種類のリストから**「デスクトップアプリ」を選択**してください。作成されたOAuth2.0クライアントIDのjsonデータをダウンロードし、「credentials.json」という名前でPythonのコードと同じフォルダーに配置します。

その後、あなたが参照したページに載っているテストコード(Googleカレンダーの今後の予定10件を取得)を動かすと、最初の1回のみブラウザーに認証ページが表示されます。

  1. OAuth同意画面でテストユーザーに登録したGoogleアカウントを選択
  2. 「このアプリは Google で確認されていません」のページで「Continue」をクリック
  3. 「(プロジェクト名)への権限の付与」のポップアップで「許可」をクリック
  4. 「選択内容を確認してください」のページで「許可」をクリック

ブラウザーに「The authentication flow has completed. You may close this window.」と表示されれば操作は完了です。

これで、Pythonコードと同じフォルダーに「token.pickle」が作成され、2回目以降の認証に利用されます。

投稿2021/01/23 13:17

Daregada

総合スコア11990

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

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

man_

2021/01/23 14:22

ありがとうございます。 解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問