feat(drive): Googleドライブ同期のクライアントIDを配信物に埋めこむ - #72
Merged
Merged
Conversation
先生が画面に OAuth クライアントIDを貼りつける形をやめ、配る側が リポジトリに一度だけ登録する形にした。ノート見本作成ツール PRO と デジタル教材メイカーが先に採っている形にそろえる。 - src/googleDrive.js に CLIENT_ID / isConfigured を足した。値はビルド時の VITE_GOOGLE_CLIENT_ID から埋めこむ(import.meta.env はテストの素の Node に 無いので、存在を確かめてから触る。参照実装と同じ) - deploy.yml の npm run check に env を足した。ビルドはこの中で走る - 設定タブの貼りつけ欄と「クライアントIDを変更/削除」を外した。埋まって いない配信では「この配信では同期が使えません」と出し、設置した人向けに GOOGLE_DRIVE_SETUP.md へ案内する - .env.example を足し、.env を .gitignore に入れた⚠️ 端末に残った古いクライアントID(hp_gdrive_client_id)は消していない。 消すと、まだ Variables を登録していない学校では今日から同期が止まる。 埋めこみが無いときの引き継ぎとしてだけ読み、埋めこみがあればそちらを優先する。⚠️ Variables に置く。Secrets ではない。Web 向けの OAuth クライアントIDは どのみち配信物とブラウザの通信に出てくる公開の識別子で、隠しても意味がない。 Secrets に入れるとログで伏字になり、埋めこめたかを目で確かめられなくなる。 書き替えた画面は撮り直した(docs/manual/images/37-drive.png)。貼りつけ欄が 写ったままだと、マニュアルのほうが古いと気づけない。使い方マニュアルと MANUAL.md と README の手順も、貼りつける前提の記述を直した。 検査: npm run check(0 error / 0 warning)、lint-manual 警告 0 件、 lint-changelog 通過、check-drift 一致。埋めこみの有無それぞれで本番ビルドを 作り、実ブラウザで両方の表示を確かめた。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Cr3ptejpAPzJkhsqCJwr3g
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
何をしたか
先生が画面に OAuth クライアントIDを貼りつける形をやめ、配る側がリポジトリに一度だけ登録する形にしました。ノート見本作成ツール PRO(
NotebookSample_Generator)とデジタル教材メイカー(Digital_textbook)が先に採っている形にそろえています。設定が済んだあと、先生がするのは先生用メニュー →「設定」→「Googleでログインして接続」を押すことだけです。
変えたところ
src/googleDrive.jsにCLIENT_ID/isConfiguredを足しました。値はビルド時のVITE_GOOGLE_CLIENT_IDから埋めこみます(import.meta.envはテストの素の Node に無いので、存在を確かめてから触る形も参照実装と同じにしています).github/workflows/deploy.ymlのnpm run checkに env を足しました。本番ビルドはこの中で走りますGOOGLE_DRIVE_SETUP.mdへ案内します.env.exampleを足し、.envを.gitignoreに入れましたGOOGLE_DRIVE_SETUP.mdを新しく置きました(Google Cloud の手順 → Variables への登録 → 使えているかの確かめ方)使うために必要な操作
このリポジトリの Settings → Secrets and variables → Actions → Variables に
VITE_GOOGLE_CLIENT_IDを登録し、配信し直してください。登録するまでは同期の欄が「この配信では同期が使えません」の表示になります(受付もバックアップも従来どおり動きます)。端末に残っている古い設定について
hp_gdrive_client_id)は消していません。消すと、まだ Variables を登録していない学校では今日から同期が止まります。埋めこみが無いときの引き継ぎとしてだけ読み、埋めこみがあればそちらを優先します。画面写真とマニュアル
書き替えた画面は撮り直しました(
docs/manual/images/37-drive.png)。貼りつけ欄が写ったままだと、マニュアルのほうが古いと気づけません。あわせて使い方マニュアル・MANUAL.md・README.mdの「貼りつける前提」の記述も直しています。検査
npm run check(lint → test → build → gate)… 0 error / 0 warningnode .claude/skills/giga-manual/scripts/lint-manual.mjs docs/manual/manual.md… 警告 0 件node .claude/skills/giga-changelog/scripts/lint-changelog.mjs docs/CHANGELOG.md… 通過check-drift… 正本と一致Generated by Claude Code