• 検索結果がありません。

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

N/A
N/A
Protected

Academic year: 2021

シェア "ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar"

Copied!
11
0
0

読み込み中.... (全文を見る)

全文

(1)

ご利用のコンピュータを設定する方法

このラボの作業を行うには、事前設定された dCloud ラボを使用するか、自身のコンピュータを セットアップします。詳細については、イベントの事前準備 [英語] とラボの設定 [英語] の両方の モジュールを参照してください。

Python を使用した Spark API との通信

このラーニング モジュールでは、Python を使用した Spark API とのインターフェイスを扱います。

目標

所要時間:20 分

• Python スクリプト言語を使用して REST API の呼び出しを行う方法を理解する

• Python を使用して Spark ルーム(スペース)にメッセージを投稿する

前提条件

Python • サンプル コードを実行するには、使用しているマシンに Python3 がインストールされて いる必要があります。 o ワークステーションに Python3 をインストールする方法については、モジュール 00 の詳細なインストール手順を参照してください。 • ワークステーションには、Python の requests モジュールをインストールする必要がありま す。インストールの有無が不確かである場合は、コマンド ライン ターミナルを開き、 Linux ベース マシンの場合は sudo python3 -m pip install requests コマンド、Windows ベース マシンの場合は python -3 -m pip install requests コマンドを実行します。

Spark REST API へのアクセス

• Spark の開発者アカウントをセットアップして、Spark REST API を確認できるようにしま

す。Spark の開発者 Web サイトに移動してサインアップし、Spark API の呼び出しを可

能にするアクセス トークンを受け取ります。

このラボでは、開発環境をセットアップするために、「ご利用のコンピュータを設定する方法」の セクションにある手順についても説明します。

(2)

ステップ 1:Python の概要

Python は、インタプリタ形式でオブジェクト指向の言語であり、ダイナミック セマンティクスに対 応した高レベルなプログラミング言語です。Python はシンプルで簡単に学習できる構文を採用 しており、コードの記述と読み取りが容易です。Python では、プログラムのモジュール性とコー ドの再利用を促進するためのモジュールやパッケージがサポートされています。 ここで、ワークステーションに Python バージョン 3.x がインストールされ、使用可能になっている ことを確認しましょう。コマンド ライン ターミナルを開き、コマンド py -3 -V を入力します(環境によ っては、”python -V”です。)。このコマンドにより、ワークステーションにインストールされている Python のバージョンを確認できます。注:Linux または OS X の場合、コマンドは python3 -V を 使用します。

(3)

ステップ 2:Postman を使用してコードを生成する

前回のラボで、Postman アプリケーションを使用して API リクエストを行う方法を示しました。 Postman を利用すると、GUI 上で設定した API リクエストに基づいて、各種プログラミング言語 に対応したソースコードを生成することができます。

本セッションでは、この機能を利用して、Spark API を呼び出す Python のコードを生成してみま しょう。 ここでは、Postman アプリケーションがワークステーションにインストールされていて、使用方法 を理解していることが前提になります。まだ準備ができていない場合は、前回のラボの内容を確 認しておいてください。 コードを生成するには、API の呼び出しに必要な Postman のすべてのフィールドへの入力が必 要です。それでは始めましょう。 1. ワークステーションで Postman のアプリケーションを開きます。 2. ここでは、問い合わせを行うユーザに関連付けられているルーム(スペース)の一覧を取 得します。それには、メソッドを GET に設定し、URL を https://api.ciscospark.com/v1/rooms に設定します。

(4)

3. 次に、リクエスト ヘッダー情報を定義します。ヘッダー タブをクリックして、2 つのキーと 値のペアを指定します。このステップでは、Spark の開発者 Web サイトから取得したアク セス トークンが必要になります。

o Content-Type と application/json; charset=utf-8 を指定

o Authorization と Bearer {access token} を指定

4. これで、Postman を使用してコードを生成する準備ができました。[保存(Save)]ボタンの 下に、[コードの生成(Generate Code)]リンクがあります。それをクリックします。[コード ス ニペットの生成(Generate Code Snippets)] ウィンドウで [Python] > [Requests] と言語を 選択します。

5. これで、入力した API リクエストの内容が requests モジュールを使用した Python コードに 変換され、API の呼び出しが可能になりました。[クリップボードにコピー(Copy to Clipboard)]ボタンをクリックしてコードをコピーします。

(5)

6. クリップボードの内容を任意のテキスト エディタに貼り付け、作業ディレクトリに Python ファイルとして保存します。

(6)

7. 実際に確認してみてください。コマンド ライン ターミナルを開き、作業ディレクトリに移動 します。py -3 <FILE-NAME.py> コマンドを実行します

(環境によっては、”python <FILE-NAME.py>”コマンド)。Spark サーバからのレスポンス

が表示されるはずです。

これで、Postman を使用してコードを生成する方法がわかりました。次のセクションでは、コード を自分で記述する方法について説明します。

(7)

ステップ 3:Python スクリプトを記述する

ここでは実際にコードを記述してみます。順序に従って記述することで、最終的に API リクエス トが Spark に送信され、電子メールアドレスの情報に基づいてユーザの氏名が取得されます。 このコードでは /people API を使用します。API の詳細については、こちらを参照してください。 先に進む前に、https://developer.ciscospark.com/ [英語] からアクセス トークンを取得する必要が あります。指定されたユーザ名とパスワードを使用してログインし、アバターの画像をクリックしま す。API コールに必要なアクセス トークンが示されます。[コピー(Copy)] ボタンをクリックします。

※ アクセストークンは誰にも公開しないようにしてください。

1. Python を使用して API コールを行うには、requests と json の 2 つのモジュールをインポ ートする必要があります。 # 実行に必要なモジュールのインポート import requests import json 2. 次に、後ほどコードで使用する変数を定義します。 # 実行に必要なモジュールのインポート import requests import json # 変数を定義する url = "https://api.ciscospark.com/v1" api_call ="/people" # 以下の{access-token}の部分は自分のアクセストークンに置き換えること access_token = "Bearer {access-token}"

(8)

3. さらに、ヘッダーとパラメータに関する情報を定義します。 # 実行に必要なモジュールのインポート import requests import json # 変数を定義する url = "https://api.ciscospark.com/v1" api_call ="/people" # 以下の{access-token}の部分は自分のアクセストークンに置き換えること access_token = "Bearer {access-token}"

# ヘッダー情報 headers = {

"content-type" : "application/json; charset=utf-8", "authorization" : access_token } # リクエスト時に使用するパラメータの指定 param = "?email=sqtest-ciscospark-travisuser@squared.example.com" 4. 実際に API を呼び出して、結果を response 変数に割り当てます。 # 実行に必要なモジュールのインポート import requests import json # 変数を定義する url = "https://api.ciscospark.com/v1" api_call ="/people" # 以下の{access-token}の部分は自分のアクセストークンに置き換えること access_token = "Bearer {access-token}"

# ヘッダー情報 headers = {

"content-type" : "application/json; charset=utf-8", "authorization" : access_token, } # リクエスト時に使用するパラメータの指定 param = "?email=sqtest-ciscospark-travisuser@squared.example.com" # API の呼び出し先のパスとパラメータを連結する url +=api_call+param

response = requests.get(url, headers=headers) # レスポンスの内容を出力

(9)

5. コードを使用できるようになりました。これをコピーして、Python ファイルとして作業ディレ クトリにコピーできます。 6. この処理を確認するには、コマンド ライン インターフェイスを開き、作業ディレクトリに移 動します。次に py -3 our_code.py コマンドを実行します (環境によっては”python our_code.py”コマンド)。すべて正しく記述してあれば、端末画 面に出力が表示されます。

(10)

ご覧のように、この出力は読みやすいとは言えません。コードを変更して、関心のある情 報だけが出力されるようにしましょう。それには、response = requests.get(url, headers=headers) 行の末尾に .json() を追加します。次に、response ディクショナリ に格納されている内容を繰り返し処理するループを追加して、名前と電子メール アドレ スだけが出力されるようにします。追加するコードは次のようになります。

for item in response["items"]:

print('Name: ' + item['displayName']) print('Email: ' + item['emails'][0]) 7. 最終的なコードは次のようになります。 # 実行に必要なモジュールのインポート import requests import json # 変数を定義する url = "https://api.ciscospark.com/v1" api_call ="/people" # 以下の{access-token}の部分は自分のアクセストークンに置き換えること access_token = "Bearer {access-token}"

# ヘッダー情報 headers = {

"content-type" : "application/json; charset=utf-8", "authorization" : access_token,

}

# リクエスト時に使用するパラメータの指定

(11)

# API の呼び出し先のパスとパラメータを連結する url +=api_call+param

response = requests.get(url, headers=headers).json() # レスポンスの内容から、displayName と email アドレスを表示する for item in response["items"]:

print('Name: ' + item['displayName']) print('Email: ' + item['emails'][0])

コードに変更を加えて再度実行します。出力が簡潔になり、読みやすくなります。

おめでとうございます。REST API の呼び出しを実行し、Spark から情報を取得するため の Python コードを記述しました。上記のコードについて完全に理解できなくても、心配 する必要はありません。次のラボでは、Python の各部分について詳細に見ていきます。 記述したコードの仕組みをさらに理解できるようになるでしょう。

参照

関連したドキュメント

※ 硬化時 間につ いては 使用材 料によ って異 なるの で使用 材料の 特性を 十分熟 知する こと

注意: Dell Factory Image Restore を使用す ると、ハードディスクドライブのすべてのデ

事前調査を行う者の要件の新設 ■

タップします。 6通知設定が「ON」になっ ているのを確認して「た めしに実行する」ボタン をタップします。.

ペトロブラスは将来同造船所を FPSO の改造施設として利用し、工事契約落札事業 者に提供することを計画している。2010 年 12 月半ばに、ペトロブラスは 2011

ASTM E2500-07 ISPE は、2005 年初頭、FDA から奨励され、設備や施設が意図された使用に適しているこ

 模擬授業では, 「防災と市民」をテーマにして,防災カードゲームを使用し

生活のしづらさを抱えている方に対し、 それ らを解決するために活用する各種の 制度・施 設・機関・設備・資金・物質・