node-zendesk を使ったときの備忘録です
この記事では ReadMe.md にある Example をローカルで実行するところまで行きます
node-zendeskって何?
(という方はおそらくこのページを開いていないと思いますが)
こちらのGitHubのリポジトリで公開されているライブラリを利用させていただきました
https://github.com/blakmatrix/node-zendesk/blob/master/ReadMe.md
zendesk側でオフィシャルサポートはされていないようですが
developersのページで紹介されていました
API Clients / Node.js
https://developer.zendesk.com/rest_api/docs/api-clients/nodejs
ここでは以下4つのステップをやっていきます
- ローカルPCに新規フォルダを作る
- そのフォルダにindex.jsファイルを作る
- node-zendesk をインストールする
- node index.js を実行する
STEP1:ローカルPCに新規フォルダ「nodezendeskTest」を作ります
(以下で必要なのはbase64にエンコードする前のAPI TOKENです)
|
STEP3:node-zendesk をインストールします
ターミナル
$ npm install node-zendesk
|
nodezendeskTest NAME$ npm install node-zendesk
npm WARN NAME@1.0.0 No description
npm WARN NAME@1.0.0 No repository field.
+ node-zendesk@1.4.0
added 62 packages from 112 contributors and audited 304 packages in 11.105s
found 2 vulnerabilities (1 moderate, 1 high)
run `npm audit fix` to fix them, or `npm audit` for details
|
指示に従ってnpm audit fix を実行します
:nodezendeskTest NAME$ npm audit fix
npm WARN NAME@1.0.0 No description
npm WARN NAME@1.0.0 No repository field.
updated 1 package in 2.723s
fixed 2 of 2 vulnerabilities in 304 scanned packages
|
STEP4:node index.js を実行します
ターミナル
$ node index.js
|
以下のような結果が返ってきました
(値はIDなどを含むため編集しています)
MacBook-Air-8:nodezendeskTest NAME$ node index.js
{
"id": 000000000000,
"url": "https://NAME.zendesk.com/api/v2/users/ID.json",
"name": "NAME",
"email": "EMAIL",
"created_at": "DATETIME",
"updated_at": "DATETIME",
"time_zone": "Osaka",
"iana_time_zone": "Asia/Tokyo",
"phone": null,
"shared_phone_number": null,
"photo": null,
"locale_id": 67,
"locale": "ja",
"organization_id": ID,
"role": "admin",
"verified": true,
"external_id": null,
"tags": [],
"alias": null,
"active": true,
"shared": false,
"shared_agent": false,
"last_login_at": "DATETIME",
"two_factor_auth_enabled": null,
"signature": null,
"details": null,
"notes": null,
"role_type": null,
"custom_role_id": null,
"moderator": true,
"ticket_restriction": null,
"only_private_comments": false,
"restricted_agent": false,
"suspended": false,
"chat_only": false,
"default_group_id": ID,
"report_csv": true,
"user_fields": {}
}
|
以上で
node-zendeskを利用したコードを書いて、Exampleを実行できました
これで最初の壁は越えたので
このあとはチケットの作成、更新、検索なども同じようにできるはずです
手元で試したことを以下の記事に書き残しました
node-zendesk を使わずにGASで直接zendesk API を利用する場合
参考
zendesk developers / API Clients / Node.js
node-zendesk / ReadMe.md
(引数にある cb はcallbackFunctionの略かな)