すべてのプロダクト
Search
ドキュメントセンター

Drive and Photo Service:アクセストークンを取得する

最終更新日:Dec 22, 2025

このトピックでは、アクセストークンを取得または更新するために使用されるメソッドについて説明します。

説明

アプリケーションの種類に基づいて、複数の方法でアクセストークンを取得できます。 詳細については、「アプリケーションの接続」をご参照ください。

このトピックで説明されているすべてのメソッドは、アクセストークンを取得するために使用されます。 アクセストークンを取得するには、コンストラクションメソッドを呼び出すときに api_endpoint パラメーターを指定します。

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
説明

IPDSRequestConfig タイプの options パラメーターは、axios のリクエスト構成オプションに基づいてカプセル化されています。 詳細については、「AxiosRequestConfig」をご参照ください。

getUserJwtToken

JSON Web トークン(JWT)アプリケーションからドライブおよびフォトサービスにアクセスするときに、アクセストークンを取得します。

最初に、ドライブおよびフォトサービスコンソールで JWT アプリケーションを作成し、アプリケーションの公開鍵を構成してから、秘密鍵を取得する必要があります。 次に、JWT アプリケーションの ID と秘密鍵を使用して、アクセストークンを取得します。

注:このメソッドは、Node.js 環境でのみサポートされています。

const result = await client.getUserJwtToken(params, options)

サンプルコード

const domain_id = 'Your domain ID'
const client_id = 'Your JWT application ID'
const privary_key_pem = 'Your private key'
const user_id = 'The ID of the user for which you want to obtain an access token'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
const params = {
  domain_id,
  client_id,
  private_Key_pem,
  user_id,
  auto_create: false, // 指定されたユーザーが存在しない場合にユーザーを自動的に作成するかどうかを指定します。
}

const jwtToken = await client.getUserJwtToken(params)

リクエストパラメーター

パラメーター

タイプ

必須

説明

params

IGetUserJwtTokenReq

はい

パラメーター。

options

IPDSRequestConfig

その他のオプション構成。

IGetUserJwtTokenReq

パラメーター

タイプ

必須

説明

client_id

string

はい

JWT アプリケーション ID。

private_key_pem

string

はい

Privacy Enhanced Mail(PEM)形式の秘密鍵文字列。

domain_id

string

はい

ドメイン ID。

user_id

string

はい

ユーザーの一意の ID。 指定されたドメイン内でユーザー ID が一意であることを確認する必要があります。

auto_create

boolean

指定されたユーザーが存在しない場合に、ユーザーを自動的に作成するかどうかを指定します。 ドメインに初期ドライブが構成されている場合、ユーザーが自動的に作成されるときに、ユーザーの初期ドライブが自動的に作成されます。 デフォルト値:false。

レスポンスパラメーター

パラメーター

タイプ

必須

説明

result

ITokenInfo

はい

ユーザーの ID を表すアクセストークンに関する情報。

ITokenInfo

パラメーター

タイプ

必須

説明

access_token

string

はい

ユーザーの ID を表す access token。 ほとんどの場合、アクセストークンは 2 時間有効です。

refresh_token

string

期限切れになった access token を更新するために使用される refresh token

expire_time

string

access token の有効期限。 ほとんどの場合、アクセストークンの有効期限は、access token が発行されてから 2 時間後です。 例:2022-02-16T07:59:14Z

expires_in

string

access token の有効期間。 単位:秒。 例:7200。

token_type

string

access token のタイプ。 デフォルト値:Bearer

user_id

string

現在のユーザーの一意の ID。

role

string

現在のユーザーが担っているロール。

その他のパラメーター

詳細については、「トークン」をご参照ください。

ITokenInfo のサンプルコード

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cC******AKBkbYjejHYX3d42VzSZ70",
  "refresh_token": "a5a1ebadaba6*****27f4122",
  "expires_in": 7200,
  "token_type": "Bearer",
  "user_id": "4b14efc*****6f63740",
  "user_name": "User 1",
  "avatar": "",
  "nick_name": "User 1",
  "default_drive_id": "1",
  "role": "user",
  "status": "enabled",
  "expire_time": "2022-02-16T07:59:14Z",
  "is_first_login": false,
  "domain_id": "daily21453"
}

getServiceJwtToken

ドメインのサービスアカウントのアクセストークンを取得します。 取得したアクセストークンはスーパー管理者権限を持ち、O&M 管理操作に使用されます。

注:このメソッドは、Node.js 環境でのみサポートされています。

const result = await client.getServiceJwtToken(params, options)

サンプルコード

const domain_id = 'Your domain ID'
const client_id = 'Your JWT application ID'
const privary_key_pem = 'Your private key'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})

const params = {
  domain_id,
  client_id,
  private_Key_pem,
}

const jwtToken = await client.getServiceJwtToken(params)

リクエストパラメーター

パラメーター

タイプ

必須

説明

params

IGetServiceJwtTokenReq

はい

パラメーター。

options

IPDSRequestConfig

その他のオプション構成。

IGetServiceJwtTokenReq

パラメーター

タイプ

必須

説明

client_id

string

はい

JWT アプリケーション ID。

private_key_pem

string

はい

PEM 形式の秘密鍵文字列。

domain_id

string

はい

ドメイン ID。

レスポンスパラメーター

パラメーター

タイプ

必須

説明

result

ITokenInfo

はい

ドメインのサービスアカウントのスーパー管理者 ID を表すアクセストークンに関する情報。

refreshJwtToken

JWT アプリケーションからドライブおよびフォトサービスにアクセスするときに取得したアクセストークンを更新します。

説明

access token は 2 時間有効で、refresh token は 7 日間有効です。

refresh token の有効期間中は、access token が期限切れになっているかどうかに関係なく、このメソッドを呼び出してアクセストークンを更新できます。

access token を更新すると、新しい access token が返され、古い access token は無効になります。

const result = await client.refreshJwtToken(params, options)

サンプルコード

const client_id = 'Your JWT application ID'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})

const params = {
  client_id,
  refresh_token: 'xxxxxxx',
}

const jwtToken = await client.refreshJwtToken(params)

リクエストパラメーター

パラメーター

タイプ

必須

説明

params

IRefreshJwtTokenReq

はい

パラメーター。

options

IPDSRequestConfig

その他のオプション構成。

IRefreshJwtTokenReq

パラメーター

タイプ

必須

説明

client_id

string

はい

JWT アプリケーション ID。

refresh_token

string

はい

期限切れになったアクセストークンを更新するために使用される更新トークン。

レスポンスパラメーター

パラメーター

タイプ

必須

説明

result

ITokenInfo

はい

更新されたアクセストークンに関する情報。

getTokenByCode

OAuth アクセスプロセスで取得されたワンタイム認証コードを使用して、アクセストークンを取得します。

OAuth アクセスプロセスの詳細については、「OAuth 2.0 For Web Server Applications」トピックの OAuth 2.0 access for web server applications セクションをご参照ください。

const result = await client.getTokenByCode(params, options)

サンプルコード

const client_id = 'Your OAuth application ID'
const client_secret = 'Your OAuth application secret'
const redirect_uri = 'The callback URL of your OAuth application'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
});
const params = {
  client_id,
  client_secret,
  redirect_uri,
  code: 'xxxxxxx', // OAuth アクセスプロセスで取得されたワンタイム認証コード。
};

const token = await client.getTokenByCode(params)

リクエストパラメーター

パラメーター

タイプ

必須

説明

params

IGetTokenByCodeReq

はい

パラメーター。

options

IPDSRequestConfig

その他のオプション構成。

IGetTokenByCodeReq

パラメーター

タイプ

必須

説明

client_id

string

はい

OAuth アプリケーション ID。

client_secret

string

OAuth アプリケーションシークレット。

アプリケーションタイプが Web サーバーの場合、このパラメーターを指定する必要があります。

redirect_url

string

はい

OAuth アプリケーションのコールバック URL。

code

string

はい

OAuth アクセスプロセスで取得されたワンタイム認証コード。

レスポンスパラメーター

パラメーター

タイプ

必須

説明

result

ITokenInfo

はい

ユーザーの ID を表すアクセストークンに関する情報。

refreshToken

OAuth アクセスプロセスで取得したアクセストークンを更新します。

説明

access token は 2 時間有効で、refresh token は 7 日間有効です。

refresh token の有効期間中は、access token が期限切れになっているかどうかに関係なく、このメソッドを呼び出してアクセストークンを更新できます。

access token を更新すると、新しい access token が返され、古い access token は無効になります。

const result = await client.refreshToken(params, options)

サンプルコード

const client_id = 'Your OAuth application ID'
const client_secret = 'Your OAuth application secret'
const redirect_uri = 'The callback URL of your OAuth application'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
const params = {
  client_id,
  client_secret,
  redirect_uri,
  refresh_token: 'xxxxxxx' 
}

const token = await client.refreshToken(params)

リクエストパラメーター

パラメーター

タイプ

必須

説明

params

IRefreshTokenReq

はい

パラメーター。

options

IPDSRequestConfig

その他のオプション構成。

IRefreshTokenReq

パラメーター

タイプ

必須

説明

client_id

string

はい

OAuth アプリケーション ID。

client_secret

string

OAuth アプリケーションシークレット。

アプリケーションタイプが Web サーバーの場合、このパラメーターを指定する必要があります。

redirect_url

string

はい

OAuth アプリケーションのコールバック URL。

refresh_token

string

はい

期限切れになったアクセストークンを更新するために使用される更新トークン。

レスポンスパラメーター

パラメーター

タイプ

必須

説明

result

ITokenInfo

はい

更新されたアクセストークンに関する情報。