Shotgun APIを初めて使用する方に向けた記事をこれから書いていきたいと思っています
今回は、導入編ということでAPIを使うための導入手順について解説します
開発環境
- OS: Windows 10 Pro
- Python 3.6.8
- git 2.23.0
- テキストエディタ
- Visual Studio Code
Pythonをインストール
Python2 は2020年1月1日でサポート終了とのことですので
Python3をインストールして頂ければと思います
下記のページが参考になります
Python3のインストール
gitをインストール
Shotgun APIをインストールする際に必要なためインストールします
下記のページが参考になります
gitのインストールと起動方法
Shotgun APIのインストール
Shotgun APIの公式ドキュメントの installation を見るといくつか方法が書かれています
pythonのpipコマンドを使用することでPYTHONPATHが通った場所にインストールすることが出来るため、
こちらを使用してインストールを行います
下記のコマンドを実行します
pip install git+git://github.com/shotgunsoftware/python-api.git
インストールが完了すると下記のようなメッセージが表示されます
Successfully installed shotgun-api3-3.2.2
下記のコマンドでインストールされているパッケージのリストを確認します
pip list
shotgun_api3があれば問題無くインストールされています
Package Version
---------------- ----------
certifi 2019.9.11
pip 19.3.1
pipenv 2018.11.26
setuptools 40.6.2
shotgun-api3 3.2.2
virtualenv 16.7.8
virtualenv-clone 0.5.3
Shotgunとの接続に必要な情報を取得する
Shotgun APIでShotgunと接続する際に下記の3つの情報が必要です
- 契約しているShotgunのページのURL
- スクリプトの名前
-
アプリケーションキー
- ShotgunのサポートページなどでAPIキーやスクリプトキーとも表記されていますが全て同じものを指しています
上記の中で 契約しているShotgunのページのURL に関しては既に分かっているかと思いますが
スクリプトの名前とアプリケーションキーに関しては、ShotgunのWeb上でスクリプトユーザーを作成することで取得することが出来ます
スクリプトユーザーの作成
スクリプトユーザーの作成手順に関しては、動画を作成しましたので、Shotgunにログイン後、動画に沿って進めて頂ければと思います
ShotgunAPIで使えるスクリプトユーザーを作り疎通させる方法#autodesk #shotgun pic.twitter.com/JwJEOK4pvQ
— Tetsuya Nozawa (@lphing) January 29, 2020
解説
動画の途中で出てきた下記の画像の画面でスクリプト(スクリプトユーザー)の作成を行っていまして
この画面の中のスクリプト名に入力した内容が スクリプトの名前 で
アプリケーションキーの入力欄に入っている内容が アプリケーションキー となります
スクリプトの名前に関しては、ユーザー側で好きなものに変更することが出来ますが
アプリケーションキーに関しては、「スクリプトを作成」ボタンを押した後では、確認することが出来なくなってしまうので「クリップボードにコピー」ボタンを押した後にどこかにペーストしてメモっておく必要があります
一応、この辺りの説明に関しては、Shtogunのサポートページの API スクリプトの作成と管理 にも載っています
アプリケーションキーが分らなくなってしまったら
もしも、スクリプトユーザーの作成後にアプリケーションキーが分らなくなってしまった場合は、
スクリプトユーザーのテーブル内で キーを変更 を押すことで専用の画面からアプリケーションキーを再度生成することが出来ます
Shotgunと接続が出来るか確認
Shotgun APIを使用して、Shotgunと接続出来るか確認してみます
Shotgunとの接続用スクリプトを作成する
任意の場所にshotgun_api_startupという名前でフォルダを作り、
下記のコードをコピーしてテキストエディタにペーストしたら、shotgun.pyという名前で
shotgun_api_startupフォルダの中に保存して下さい
# -*- coding: utf-8 -*-
import sys
from shotgun_api3 import Shotgun
# Shotgunに接続するために必要な情報を記述します
SHOTGUN_URL = "ShotgunのURLを記述"
SCRIPT_NAME = "shotgun_api_startup"
API_KEY = "スクリプトユーザーのアプリケーションキーを記述"
def create_shotgun_api():
# Shotgunクラスに接続に必要な情報を渡して、
# Shotgunとやりとりを行うためのオブジェクトを作成します
return Shotgun(base_url=SHOTGUN_URL,
script_name=SCRIPT_NAME,
api_key=API_KEY)
def main():
shotgun_api = create_shotgun_api()
# 接続に問題が無いかテストするためにセッショントークンを取得します
shotgun_api.get_session_token()
print("Completed!!")
return 0
if __name__ == "__main__":
sys.exit(main())
解説
変数のSHOTGUN_URLとAPI_KEYに関しては、自分の環境に合わせて適切なものを記述する必要があります
- "ShotgunのURLを記述"と書かれている箇所に契約しているShotgunのURLを記述して下さい
-
"スクリプトユーザーのアプリケーションキーを記述"と書かれている箇所に先ほどスクリプトユーザーを作成した際に
メモしておいたアプリケーションキーの内容を記述して下さい
# Shotgunに接続するために必要な情報を記述します
SHOTGUN_URL = "ShotgunのURLを記述"
SCRIPT_NAME = "shotgun_api_startup"
API_KEY = "スクリプトユーザーのアプリケーションキーを記述"
create_shotgun_api()の中でShotgunクラスに必要な情報を渡して、Shotgunとやりとりを行うためのオブジェクトを作成しています
Shotgunクラスに関しては、公式ドキュメントの下記のページに詳しく載っています
https://developer.shotgunsoftware.com/python-api/reference.html?highlight=user%20agent#shotgun
def create_shotgun_api():
# Shotgunクラスに接続に必要な情報を渡して、
# Shotgunとやりとりを行うためのオブジェクトを作成します
return Shotgun(base_url=SHOTGUN_URL,
script_name=SCRIPT_NAME,
api_key=API_KEY)
shotgun.pyをimportでは無く直接実行された場合にmain関数が呼ばれます
shotgun_api.get_session_token()は、Shotgunに正常に接続出来た場合にのみセッショントークンが取得出来るため、接続テストのために使用しています
接続に問題がある場合は、shotgun_api3.shotgun.AuthenticationFault エラーが出ます
def main():
shotgun_api = create_shotgun_api()
# 接続に問題が無いかテストするためにセッショントークンを取得します
shotgun_api.get_session_token()
print("Completed!!")
return 0
if __name__ == "__main__":
sys.exit(main())
動作確認
コマンドプロンプトを開いて、下記のコマンドを入力して実行します
※D:\shotgun_api_startupの部分は、shotgun_api_startupフォルダを作成した場所に応じて変更して下さい
cd /d D:\shotgun_api_startup
python shotgun.py
接続に成功した場合は、下記メッセージが表示されます
Completed!!
ここまでの流れ
ShotgunのScriptユーザーの作成と疎通テスト pic.twitter.com/I4pEKP2gL2
— Tetsuya Nozawa (@lphing) January 31, 2020
あとがき
ここまで出来ていれば、APIを使用するための準備が完了したことになります
次回は、APIを使用して実際にShotgunにデータを登録していきたいと思います