For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
開発者向けツール
コミュニティお問い合わせコンソール
ドキュメントAPI参照
ドキュメントAPI参照
  • 利用開始
    • Frame.io V2 APIへようこそ
    • 主要概念
    • 認証
  • 移行
    • V2からV4への移行ガイド
  • OAuth 2 アプリケーション
    • OAuth 2 認可コードフロー
    • OAuth2アプリの構築
    • OAuth 2トークンの刷新
  • ワークフロー - アセット
    • ファイルツリーの読み方
    • アセットのアップロード
    • バージョンスタックの管理
    • 注釈の扱い方
    • 資産の検索
  • ワークフロー - プロジェクト
    • レビューリンクとの連携
    • プロジェクトからすべてのコメントを集める
  • ワークフロー - 管理者
    • ユーザー管理
    • 監査ログの扱いについて
  • オートメーション - ウェブフック
    • ウェブフックの概要
    • Zapierによるコメントワークフロー
  • 自動化 - Zapier
    • ザピアの基本
    • Frame.io ザピアのリソース
    • Zapierを使ってアセットを Frame.io にアップロードする
    • Zapierのウェブフック
  • カスタムアクション
    • カスタムアクション概要
    • カスタムアクションを展開する3つの方法
    • Zapierにカスタムアクションをデプロイする
  • その他のツール
    • ngrokの使用
    • グリッチの使用
  • トラブルシューティング
    • APIエラーコード
    • 料金制限
    • ブラウザサポート
  • 廃止
    • 方法 - 認証(ハードウェア)
    • 方法 - 承認(申請)
    • 認証管理方法(ハードウェア)
    • 認証管理方法(アプリケーション)

© 2026 Adobe Inc. All rights reserved.

TermsPrivacyDo not sell or share my personal information
Developer-friendly docs for your API
Logo
開発者向けツール
コミュニティお問い合わせコンソール
このページ内
  • アプリケーションの基本
  • 承認サーバーの呼び出し
  • コールバック
  • PKCE なし
  • PKCE を使用
  • 正常なレスポンス
OAuth 2 アプリケーション

OAuth 2 アプリの構築

このページは役に立ちましたか?
前へ

OAuth 2 トークンの更新

次へ
このガイドは、OAuth 2 アプリが登録済みであることを前提としています

そうでない場合は、OAuth 2 コードフローを参照して、アプリケーションを構成してください。

アプリケーションの基本

メモ:client_id と(PKCE を使用しない場合は) client_secret は、安全に保管し、お使いの環境からアクセスする必要があります。以下の例では、変数 CLIENT_ID と CLIENT_SECRET を含む .env ファイルの存在を前提としています。

Python
1import urllib, requests, requests.auth
2import os
3
4CLIENT_ID = os.environ.get('CLIENT_ID')
5CLIENT_SECRET = os.environ.get('CLIENT_SECRET')
6
7AUTHORIZE_URL = "https://applications.frame.io/oauth2/auth"
8TOKEN_URL = "https://applications.frame.io/oauth2/token"
9# The scopes you've chosen for your app, space-delimited
10SCOPE = "offline account.read asset.read"
11# The callback URI for your app
12REDIRECT_URI = "https://yourapp.domain/callback"

承認サーバーの呼び出し

まず、アプリケーションは Frame.io 承認サーバーを呼び出す必要があります。このサーバーが、ユーザーをログインページにリダイレクトします。

Python
1import uuid
2from urllib.parse import urlencode
3
4def create_auth_url():
5 credentials = {
6 'response_type': 'code',
7 'redirect_uri': REDIRECT_URI,
8 'client_id': CLIENT_ID,
9 'scope': SCOPE,
10 'state': str(uuid.uuid4())
11 }
12 url = (AUTHORIZE_URL + "?" + urlencode(credentials))
13 return url

コールバック

次に、承認サーバーは GET リクエストを REDIRECT_URI に対して実行し、今度はこれが TOKEN_URL を呼び出す必要があります。このコールバックは、アプリケーションが PKCE を使用するよう設定されているかどうかに応じて若干異なります。

PKCE なし

PKCE を使用していない場合は、CLIENT_ID と CLIENT_SECRET を含む Authorization ヘッダーをコールバックに含める必要があります。

Python
1def callback():
2 state = request.args.get('state')
3 scope = request.args.get('scope')
4 code = request.args.get('code')
5 error = request.args.get('error')
6
7 if error:
8 return "Error: " + error
9
10 # Set up for client authorization and set up the data you need to send.
11 client_auth = requests.auth.HTTPBasicAuth(CLIENT_ID, CLIENT_SECRET)
12
13 post_data = {
14 "grant_type": "authorization_code",
15 "code": code,
16 "redirect_uri": REDIRECT_URI,
17 "state": state,
18 "scope": SCOPE
19 }
20
21# Send a POST request with the data you need to receive an access token.
22# If everything goes well, it will be returned to you and you can use it with
23# Frame.io.
24
25 response = requests.post(TOKEN_URL, auth=client_auth, data=post_data)
26 return response.text

PKCE を使用

PKCE **を使用している場合は、コールバックに Authorization **ヘッダーは含めないでください。ただし、TOKEN_URL をコールバックする際の POST リクエスト本文に CLIENT_ID を含める必要があります。

Python
1def callback():
2 state = request.args.get('state')
3 scope = request.args.get('scope')
4 code = request.args.get('code')
5 error = request.args.get('error')
6
7 if error:
8 return "Error: " + error
9
10# If using PKCE, you must include the CLIENT_ID in your request body
11 post_data = {
12 "grant_type": "authorization_code",
13 "code": code,
14 "redirect_uri": REDIRECT_URI,
15 "state": state,
16 "scope": SCOPE
17 "client_id": CLIENT_ID
18 }
19
20# Send a POST request with the data you need to receive an access token.
21# If everything goes well, it will be returned to you and you can use it with
22# Frame.io
23
24 # If using PKCE, use the below request with no auth
25 response = requests.post(TOKEN_URL, data=post_data)
26
27 return response.text

正常なレスポンス

コールバックが成功すると、次のような JSON レスポンスが返されます。

1{
2 "access_token":"BEARER_TOKEN",
3 "expires_in":3600,
4 "refresh_token":"REFRESH_TOKEN",
5 "scope":"account.read offline",
6 "token_type":"bearer"
7}

これで、access_token を使用して、ログインしたユーザーに代わって Frame.io への API 呼び出しを行い、このトークンの有効期限が切れた後に refresh_token で新しい access_token をリクエストできるようになりました。