【GAS→Wrike】WrikeAPIの叩き方※コピペで簡単、サンプルコード付き

はじめに


私のプロジェクトでは、工程管理ツールである、Wrikeを活用しております。
本記事では、私がプロジェクトで学んだ、WrikeAPIに関するナレッジを共有させていただこうと思います。

対象の読者
✓ WrikeAPIをざっくり知りたい方(1章のみ読んで頂ければOKです)
✓ WrikeAPIをがっつり知りたい方(1~5章を読んでください)
✓ Wrike製品と他製品の連携に興味がある方(1~5章を読んでください)

目次


  1. WrikeAPIとは何か

  2. WrikeAPIを叩き、タスクIDを取得する

  3. WrikeAPIを叩き、タスクのステータスを変更する

  4. 最後までお読みいただいた方へ


1. WrikeAPIとは何か


1-1. WrikeAPIとは
WrikeAPIとは、Wrike社が提供しているAPI(※1)です。
様々なWrike機能をAPIから呼び出すことができます。
どのようなWrike機能があるか、「2.WrikrAPIのドキュメントの見方」にて解説させていただきます。

※1「APIとはそもそも何ぞや」という方は下記動画をご覧ください。


2. WrikeAPIドキュメントの見方


2-1. WrikeAPIが提供する機能
Wrike社が提供している機能一覧は、Wrikeのdeveloper向け公式サイトから確認することができます。

下図の左側のナビゲーションバーにある、Methodsメニューの折畳みを展開すると、Wrike社が提供している機能一覧を確認できます。
Methodsメニュー内のFolders&Projectsであれば、プロジェクトやフォルダーに関する提供機能を呼び出すことができ、Tasksであれば、タスクに関する提供機能を呼び出すことができます。
どのような呼び出し方法があるかは、「2-2.基本の四操作」にて解説いたします。

Wrike社が提供している機能一覧

2-2. 基本の四操作
Wrikeの機能に対して、基本の四操作は下記の通りです。
①GET・・・検索する(query = select)
②PUT・・・変更する(modify = update)
③POST・・・追加する(create = insert)
④DEL・・・削除する(deleate)

例えば、MethodsメニューにあるTasksであれば、①②③④すべての操作が可能ですが、機能によっては①のみというものもあります。
確認方法はMethodsメニューにある各機能をクリックすると、どのような操作ができるか、確認できます。

提供機能が可能な操作の確認方法

2-3. WrikeAPIの活用例
WrikeAPIを活用すれば、下記のようなツールを開発したり、Wrike製品と他製品を連携することができます。

★★★例:ツール開発(GAS→Wrike)★★★★★★★★★★★★★★
スプレッドシートから、ブループリントの作成個数を指定し、特定のタスク配下にブループリントを指定した個数ぶん作成する。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

★★★例:Wrike製品と他製品の連携(Wrike⇔ServiceNow)★★★
ServiceNowで入力した情報をトリガーとし、Wrike上のタスクのステータスを変更する。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

上記の活用例については、実際にAPIを活用してみないことにはイメージがつかないかなと思いますので、3,4章にて、GAS→Wrikeの連携を例に解説していきたいと思います。
※コピペで簡単、サンプルコード付きなので、コーディングができない方ご安心ください。


3. WrikeAPIを叩き、タスクIDを取得する


3-1. 暗号鍵(トークンキー)を発行する
まずは、WrikeAPIを活用する事前準備として、GAS→Wrikeの通信を暗号化するための、暗号鍵(トークンキー)を発行します。

下記の記事にある、「③Wrike側でAPI使用の許可&永続トークンを発行する」の手順を実施し、暗号鍵(トークンキー)を発行してください。
発行した暗号鍵(トークンキー)は、忘れないよう、メモ帳とかに保管して置いてください。

3-2. GoogoleドライブからGoogleAppsScriptを開く
まずはご自身のPCから、GoogleChromeを開いてください。
以降は①~⑦までの手順を実施してください。

①「ドライブ」を押下する。

②「+新規」を押下する。

③「Googleスプレッドシート」を押下する。

④「拡張機能」タブを押下する。
⑤「Apps Script」を押下する。

⑤「+」マークを押下する。
⑥「スクリプト」を押下する。

⑦「ファイル名」を入力する。→ここでは一旦「テスト」とします。

3-3. コードをコピペする

①下記コードをコピーする

//タスクIDを取得する
function TasksID_GET({

  //「https://~tv4/Tasks」:Wrikeのdeveloper向け公式サイトのMethods内にあるTasksメソッドを呼び出す
  //「parmalink=https://~」を引数にセットする
  //「GET = select」コマンドを実行する
  var responce = API('https://www.wrike.com/api/v4/tasks?permalink=' 
  + 'https://www.wrike.com/open.htm?id=XXXXXXXXX''GET'null);

  //ログにresponceの値を出力する
  Logger.log(responce);

}



function API(url, method, payload{

  //暗号鍵(トークンキー)を入力する。
  var accessToken  = '暗号鍵(トークンキー)';

  var headers =
  {
    'Authorization''Bearer ' + accessToken 
  };

  var options =
  {
    'method': method,
    'headers': headers,
    'payload': payload,
  };

  var response = UrlFetchApp.fetch(url, options);
  return response;

}

②GoogleAppsScriptに貼り付ける

③Wrikeにあるタスクから、パーマリンクを取得し貼り付けてください。
※パーマリンクはタスクである必要があります。プロジェクトやフォルダーではできません。
④暗号鍵(トークンキー)を貼り付けてください。

3-4. スクリプトを実行する

①「実行」を押下する。

②「権限を確認」を押下する。

③ご自身のアカウントを選択する。

④「詳細を表示」を押下する。
⑤「無題のプロジェクトに移動」を押下する。

⑥「許可」を押下する。

タスクに関する情報が取得できる。


4. WrikeAPIを叩き、タスクのステータスを変更する


4-1. GoogleAppsScriptに新規ファイルを追加する
「3-2. GoogoleドライブからGoogleAppsScriptを開く」の⑤⑥⑦を参考にしてください。

4-2. コードをコピペする
①下記コードをコピーする

//タスクIDを取得する
function Tasks_PUT({

  //「https://~tv4/Tasks」:Wrikeのdeveloper向け公式サイトのMethods内にあるTasksメソッドを呼び出す
  //tasks以降にtaskIDを引数にセットする
  //「PUT = update」コマンドを実行する
  var responce = API('https://www.wrike.com/api/v4/tasks/タスクID?status=Completed''PUT'null);

  //ログにresponceの値を出力する
  Logger.log(responce);

}



function API(url, method, payload{

  //暗号鍵(トークンキー)を入力する。
  var accessToken  = '暗号鍵(トークンキー)を入力';

  var headers =
  {
    'Authorization''Bearer ' + accessToken 
  };

  var options =
  {
    'method': method,
    'headers': headers,
    'payload': payload,
  };

  var response = UrlFetchApp.fetch(url, options);
  return response;

}

②GoogleAppsScriptに貼り付ける

③「タスクID」を入力する。
※タスクIDとは、全手順で取得した情報の「id=XXXXXXXXX」の「XXXXXXXXX」のところです。
例えば今回のケースであれば、「"id": "IEACKDF4KQ3TZD2V"」の「IEACKDF4KQ3TZD2V」がIDとなります。
④先ほどの手順と同様に、暗号鍵(トークンキー)を入力してください。

4-3. スクリプトを実行する
「実行」を押下すると….

Wrike上のタスクのステータスが変更される。

【Before】

【After】

5. 最後までお読みいただいた方へ

おそらく何となく気づいている方はいらっしゃると思いますが、今回の仕組みをうまく活用すれば、Wrike製品と他製品(ServiceNow等)の連携が可能になります。
もう少し詳しく知りたいという方は、コメント欄からご連絡いただけますと幸いです。
※noteのコメント方法はこちらの記事を参考にしてください。

最後までお読みいただき、ありがとうございました!!!!

いいなと思ったら応援しよう!