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

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

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

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Google API

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

Q&A

解決済

1回答

1811閲覧

Googleカレンダー APIを実装するために必要な事前知識を習得したい

koki0502

総合スコア19

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Google API

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

0グッド

1クリップ

投稿2020/03/22 11:29

編集2020/03/23 11:58

Ruby on Railsで作成したアプリケーション(スケジュール管理アプリ)にGoogleカレンダーAPIを導入し、
アプリケーションのスケジュールとGoogleカレンダーを同期したいです。

上記を実装するためGoogleカレンダーのチュートリアルを読んだのですが、現状全く理解ができませんでした。よって実装するために必要となる知識を効果的に学習したいのですが、これから学習することが本当に解決につながるかの明確な自信が持てません。下記の勉強法に加えてこれはやっておけ等ございましたら、ご教示いただけますと幸いです。よろしくお願いいたします。

現状の知識レベル
・Ruby on Rails チュートリアルは学習済み
・外部AIPはStripeで実装経験あり
※Qiitaをほぼ丸パクリですが

参照したチュートリアル
https://developers.google.com/calendar/quickstart/ruby?hl=ja

実行予定の学習
書籍 Web API The Good Parts
https://www.amazon.co.jp/exec/obidos/asin/4873116864/?tag=maftracking205475-22&linkCode=ure&creative=6339

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
内容不足により追加した点

実施したこと
・上記のチュートリアルは実施済み。putsメソッドでターミナル上にグーグルカレンダーの今後の予定を表示することができた。

理解できていない点
・APIが何かをできていない(コチラに関しては上記の書籍で概ね理解できるのではと考えている)
・チュートリアル内サンプルコードが何を実行しているか把握できていない。そもそもどこを参考にコードを読めばよいかわからない
↓例 (チュートリアルのサンプルコード:6行目の"urn:ietf:wg:oauth:2.0:oob")

rb

1require "google/apis/calendar_v3" 2require "googleauth" 3require "googleauth/stores/file_token_store" 4require "date" 5require "fileutils" 6 7OOB_URI = "urn:ietf:wg:oauth:2.0:oob".freeze 8APPLICATION_NAME = "Google Calendar API Ruby Quickstart".freeze 9CREDENTIALS_PATH = "credentials.json".freeze 10# The file token.yaml stores the user's access and refresh tokens, and is 11# created automatically when the authorization flow completes for the first 12# time. 13TOKEN_PATH = "token.yaml".freeze 14SCOPE = Google::Apis::CalendarV3::AUTH_CALENDAR_READONLY 15 16

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

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

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

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

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

nskydiving

2020/03/23 02:33

>現状全く理解ができませんでした。 このチュートリアルは実際に動かしてみたのでしょうか? まずは何が理解できなかったのかを整理すべきかと思います。 何が分かっていないのかも分からない状態では、回答者もアドバイスのしようがないと思いますので。
koki0502

2020/03/23 12:00

仰る通りでした。ご指摘いただきましてありがとうございます。 今回だけではなく、今後の参考にさせていただきます。ありがとうございます!
guest

回答1

0

ベストアンサー

・APIが何かをできていない(コチラに関しては上記の書籍で概ね理解できるのではと考えている)

Web API」で Google 検索すると、いくつか API の解説サイトが見つかります。

また、「Web API The Good Parts」は良書だとは思いますが、この書籍は API の設計、開発、運用についての解説書ですので、期待している内容とはちょっと違うかもしれません。

・チュートリアル内サンプルコードが何を実行しているか把握できていない。そもそもどこを参考にコードを読めばよいかわからない
↓例 (チュートリアルのサンプルコード:6行目の"urn:ietf:wg:oauth:2.0:oob")

urn:ietf:wg:oauth:2.0:oob」で Google 検索すると、すぐに以下のサイトが見つかります。

OAuth 2.0 Flow: Installed apps  |  YouTube Data API  |  Google Developers
https://developers.google.com/youtube/v3/guides/auth/installed-apps?hl=ja

urn:ietf:wg:oauth:2.0:oob
この値は、Google の承認サーバーが承認コードをブラウザのタイトル バーに返すことを指定します。このオプションは、クライアントの設定を大幅に変更しないとクライアントで HTTP ポートをリスンできない場合に便利です。Windows アプリケーションはこれに該当します。

この値を使用する場合、ブラウザが承認サーバーからレスポンスを読み込んだことをアプリケーションで認識できる必要があります。その後、アプリケーションがブラウザのページ タイトルから承認コードを抽出します。ページ タイトルからトークンを解析する手順については、ステップ 4 を参照してください。

承認コードを含むページがユーザーに表示されないようにする場合は、アプリケーションがブラウザ ウィンドウを閉じるようにする必要もあります。ブラウザ ウィンドウを閉じるメカニズムはプラットフォームによって異なります。

基本的な情報は、Google Calendar API の「ガイド」や「リファレンス」を読めば良いと思いますが、見つからない場合は Google で検索した方が早く情報に辿り着けることが多いと思います。

投稿2020/03/25 08:32

nskydiving

総合スコア6500

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

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

koki0502

2020/03/26 02:56

ご教示ありがとうございます! 仰る通り、Web API The Good Parts」は私の期待している内容と若干異なっておりました。。解説サイト等を中心に学習したいと思います! サンプルコード等は公式サイトで地道に調べていきます。。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問