2
0

More than 3 years have passed since last update.

Site24x7 の API 認証が OAuth 2.0 に変更されたので、アクセストークンを取得してみる。

Last updated at Posted at 2019-12-02

0.はじめに

以下の記事にある様に、サイト監視に Site24x7 を利用しているんですが…、


先日、以下の様なメールが届きまして…、

  • FireShot Capture 234 - Site24x7_ Migrate to OAuth 2.0 - y.uekama.gs@gmail.com - Gmail_ - mail.google.com.jpg

どうやら、

「API の認証が OAuth 2.0 に変更になるから、対応ヨロシク〜♪」

ということみたいで…、

とりあえず、今回は API の OAuth 2.0 認証のアクセストークンを取得してみます。


基本的に、以下のドキュメントの手順通りに進めます。

1.ZOHO Developer Console で セルフクライアント を作成する

  1. 以下のリンクの「United States」リンクをクリックし、ZOHO Developer Console を表示します。
  2. 表示されたページの「GET STARTED NOW」ボタンをクリックします。
    • FireShot Capture 226 -  - api-console.zoho.com.jpeg
  3. 表示されたページの「Self Client」ボタンをクリックします。
    • FireShot Capture 227 -  - api-console.zoho.com.jpeg
  4. 表示されたページの「CREATE」ボタンをクリックします。
    • FireShot Capture 229 -  - api-console.zoho.com.jpeg
  5. 表示されたダイアログの「OK」ボタンをクリックします。
    • FireShot Capture 230 -  - api-console.zoho.com.jpeg
  6. 表示されたページに、以下の項目が表示されますので、メモしておきます。
    • Client ID
    • Client Secret
    • FireShot Capture 231 -  - api-console.zoho.com.jpeg

2.作成した セルフクライアント の コード を生成し、合わせて各種トークンを取得する

  1. 作成したセルフクライアントの詳細ページを表示、「Generate Code」タブを選択後、以下の項目を入力し、「GENERATE」ボタンをクリックします。
    • Scope :
      • Site24x7.Account.All,Site24x7.Admin.All,Site24x7.Reports.Read,Site24x7.Operations.All
      • ※ 詳細は、Site24x7 | API Reference の「List of scopes available in Site24x7」を参照。
    • Time Duration :
      • 10 minutes
      • ※ 念の為、長めに。
    • Scope Description :
      • ※ 任意
    • FireShot Capture 232 -  - api-console.zoho.com.jpeg
  2. 表示されたダイアログの「COPY」ボタンをクリック、生成されたコードをコピーします。その後、ダイアログを閉じます。
    • ※ 生成されたコードは次の手順に絶対に必要なので、忘れない様にすること !!
    • ※ あと、生成されたコードは、有効期限が非常に短いので、とっとと次の手順を行うこと !!
    • FireShot Capture 233 -  - api-console.zoho.com.jpeg
  3. 以下のコマンドを実行し、各種トークン (アクセストークンとリフレッシュトークン) を取得します。
curl  https://accounts.zoho.com/oauth/v2/token -X POST \
-d "client_id=[Client ID]" \
-d "client_secret=[Client Secret]" \
-d "code=[生成されたコード]" \
-d "grant_type=authorization_code"
{
"access_token":"****",
"refresh_token":"****",
"expires_in_sec":3600,
"api_domain":"https://www.zohoapis.com",
"token_type":"Bearer",
"expires_in":3600000
}
  • ※ 念の為、以下のコマンドを実行し、取得したアクセストークンが正常に利用出来るか確認します。
curl https://www.site24x7.com/api/monitors \
-H 'Authorization: Zoho-oauthtoken [アクセストークン]'

3.アクセストークンを更新する

  1. 以下のコマンドを実行し、アクセストークンを更新します。
curl https://accounts.zoho.com/oauth/v2/token -X POST \
-d "client_id=[Client ID]" \
-d "client_secret=[Client Secret]" \
-d "refresh_token=[リフレッシュトークン]" \
-d "grant_type=refresh_token"
{
"access_token":"****",
"expires_in_sec":3600,
"api_domain":"https://www.zohoapis.com",
"token_type":"Bearer",
"expires_in":3600000
}

99.ハマりポイント

  • そこまでハマった訳じゃ無いですが…、日本語の記事が全然無くて、ちょっと手間取りました…。
  • やっぱり日本語の記事ってありがたいですよね♪

XX.まとめ

今回、OAuth 2.0 のアクセストークンを取得してみましたが…、

これまでのアクセストークンと異なり、(実行頻度にもよりますが…、)これからは毎回アクセストークンを取得する必要が出てきました。

以下の記事の様に、AWS Lambda で Python スクリプトを実行しているので、Python スクリプトの修正も必要となります。

今のスクリプトには、各種シークレットコードをソースにベタ書きしており、そのままアクセストークンを取得する処理を追加しても良いんですが、出来れば AWS SSM Parameter Store を使って、よりセキュアに出来ればとも思います。

時間作って、対応できればと!


以上、ご参考になれば♪

👋👋👋

2
0
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
2
0