16
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Shotgun APIを初めて使う方へ - 導入編 -

Last updated at Posted at 2020-02-04

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にログイン後、動画に沿って進めて頂ければと思います

解説

動画の途中で出てきた下記の画像の画面でスクリプト(スクリプトユーザー)の作成を行っていまして
この画面の中のスクリプト名に入力した内容が スクリプトの名前
アプリケーションキーの入力欄に入っている内容が アプリケーションキー となります

スクリプトの名前に関しては、ユーザー側で好きなものに変更することが出来ますが
アプリケーションキーに関しては、「スクリプトを作成」ボタンを押した後では、確認することが出来なくなってしまうので「クリップボードにコピー」ボタンを押した後にどこかにペーストしてメモっておく必要があります

一応、この辺りの説明に関しては、Shtogunのサポートページの API スクリプトの作成と管理 にも載っています

2020-01-31_15h49_11.png

アプリケーションキーが分らなくなってしまったら

もしも、スクリプトユーザーの作成後にアプリケーションキーが分らなくなってしまった場合は、
スクリプトユーザーのテーブル内で キーを変更 を押すことで専用の画面からアプリケーションキーを再度生成することが出来ます
2019-12-18_18h36_49.png
2019-12-18_18h39_52.png

Shotgunと接続が出来るか確認

Shotgun APIを使用して、Shotgunと接続出来るか確認してみます

Shotgunとの接続用スクリプトを作成する

任意の場所にshotgun_api_startupという名前でフォルダを作り、
下記のコードをコピーしてテキストエディタにペーストしたら、shotgun.pyという名前で
shotgun_api_startupフォルダの中に保存して下さい

shotgun.py
# -*- 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_URLAPI_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!!

ここまでの流れ

あとがき

ここまで出来ていれば、APIを使用するための準備が完了したことになります
次回は、APIを使用して実際にShotgunにデータを登録していきたいと思います

16
9
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
16
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?