obj-drive-viewer / README.md
hrkjt's picture
Upload README.md with huggingface_hub
f136f36 verified
|
Raw
History Blame Contribute Delete
1.74 kB
---
title: OBJ Drive Viewer
emoji: 🧠
colorFrom: blue
colorTo: gray
sdk: docker
app_port: 7860
pinned: false
---
# OBJ Drive Viewer
Google Drive の固定フォルダから `.obj` ファイルを一覧表示し、選択したOBJを Three.js でブラウザ描画する最小実装です。
デフォルトのDriveフォルダID:
```txt
1xK0ZNYBpVeYBKca48xxKEFpGWy9bbRaw
```
## セットアップ
1. Google Cloud Console で OAuth 2.0 Client ID を作成します。
- Application type: Web application
- Authorized JavaScript origins:
- `http://localhost:5173`
- OAuth consent screen は社内向けの設定にしてください。
2. Google Drive API を有効化します。
3. `.env.example``.env` にコピーし、`VITE_GOOGLE_CLIENT_ID` を設定します。
```bash
cp .env.example .env
```
4. 依存関係をインストールして起動します。
```bash
npm install
npm run dev
```
## 実装内容
- Google Identity Services によるID token取得
- Drive API の読み取り専用スコープ
- Express APIでGoogle ID tokenを検証
- `baby-helmet.com` Workspaceユーザーだけ許可
- 固定フォルダID配下の `.obj` ファイル一覧取得
- 選択したOBJファイルの `alt=media` ダウンロード
- Three.js `OBJLoader` による表示
- OrbitControls による回転・ズーム操作
## 主な設定
`.env`:
```env
VITE_GOOGLE_CLIENT_ID=your-google-oauth-client-id.apps.googleusercontent.com
VITE_DRIVE_FOLDER_ID=1xK0ZNYBpVeYBKca48xxKEFpGWy9bbRaw
GOOGLE_CLIENT_ID=your-google-oauth-client-id.apps.googleusercontent.com
DRIVE_FOLDER_ID=1xK0ZNYBpVeYBKca48xxKEFpGWy9bbRaw
```
`VITE_DRIVE_FOLDER_ID` は未指定でも上記の固定フォルダIDを使います。