0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

岩手県立大学Advent Calendar 2023

Day 22

Google APIのトークン取得で"このサイトにアクセスできませんlocalhostで接続が拒否されました。"

Posted at

自分が管理しているYouTubeの再生リストを操作したいなと思ってAPI調べつつの詰まったところです。

何回かやってるけどいつも忘れている

YouTube DATA APIのクイックスタート

こちらをやっていきます。

スクリーンショット 2023-12-22 16.48.57.png

準備など

  • OAuthクライアントIDを作成して認証情報のJSONをDL
    • client_secret.json
  • サンプルコードを作成して実行

スコープ

サンプルコードでトークン作成するときにスコープの指定がありますが、何をしたいかによってSCOPESの値を変えると良さそうです。

  • 読み込みのみ
const SCOPES = ['https://www.googleapis.com/auth/youtube.readonly'];
  • 管理全般
const SCOPES = [
	`https://www.googleapis.com/auth/youtube`,
	`https://www.googleapis.com/auth/youtube.upload`
]

ドキュメントを参照すると以下のように書いています。

スクリーンショット 2023-12-22 15.25.44.png
https://developers.google.com/youtube/v3/guides/auth/installed-apps?hl=ja#handlingresponse

サンプルコードの実行(認証)

以下のようにURLが発行されるので、アクセスします。

スクリーンショット 2023-12-22 16.52.25.png

進むとGoogleアカウント選択 -> YouTubeアカウント選択 -> 許可を求められます。

スクリーンショット 2023-12-22 15.27.39.png

許可をするとこのサイトにアクセスできませんlocalhost で接続が拒否されました。と表示される

されるんですけど、URLをよくみるとlocalhost/?code=コード&scope=~~~といったURLになっています。

スクリーンショット 2023-12-22 15.41.48.png

http://localhost/?code=<この部分>&scope=https://www.googleapis.com/auth/youtube%20https://www.googleapis.com/auth/youtube.upload

このcode部分をコピーして、ターミナルの入力を求められている箇所に貼り付けて進めばOKです。

スクリーンショット 2023-12-22 16.55.52.png

おそらくデフォルトのままだとホーム/.credentials/の中にyoutube-nodejs-quickstart.jsonというファイルで認証情報が入ったjsonファイルが保存されます。

スクリーンショット 2023-12-22 15.43.07.png

これをtoken.jsonなどに名前を変えて他の場所でも利用できます。

参考

こちらの記事が参考になりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?