> For the complete documentation index, see [llms.txt](https://manual.dxable.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.dxable.com/1password/overview-of-1password-sdks.md).

# 1Password SDK

### 1Password SDK <a href="#byuebsqtwrei" id="byuebsqtwrei"></a>

1Password SDKを使うと、Go、JavaScript、またはPythonを使い、1PasswordにSaveされているシークレットにプログラムでアクセスできるシークレット管理統合を構築できます。1Password SDKを使うと、次のことが可能になります。

* [シークレット参照](https://developer.1password.com/docs/sdks/load-secrets/)を使って1Password のシークレットをコードに安全に読み込みます。
* パスワード、API キー、ワンタイムパスワードなど、1PasswordにSaveされている[シークレットを読み取り、書き込み、更新できます。](https://developer.1password.com/docs/sdks/manage-items/)
* 1Passwordアカウント内の[アイテムと保管庫を一覧表示](https://developer.1password.com/docs/sdks/list-vaults-items/)できます。

### サポートする言語 <a href="#tje1qks4lyj6" id="tje1qks4lyj6"></a>

![Go SDK](/files/2AA3vIkNOeTHLb0eyq3w)[Golang](https://github.com/1Password/onepassword-sdk-go)

![JS SDK](/files/L44XOVGSYw6NWn7FkOKJ)[JavaScript](https://github.com/1Password/onepassword-sdk-js/)

![Python SDK](/files/6h8g5vx34AuHWAgicX7x)[Python](https://github.com/1Password/onepassword-sdk-python/)

### サポートされている機能 <a href="#id-3nr2hgvqomed" id="id-3nr2hgvqomed"></a>

| **特徴**   | **サポートされている機能**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | **注記**                                                                                                            |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| シークレット参照 | <ul><li><a href="https://developer.1password.com/docs/sdks/load-secrets">シークレットをロードする</a></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | [サポートされているフィールド タイプ](https://developer.1password.com/docs/sdks/concepts/#supported-field-types)からシークレットを取得できます。   |
| アイテム管理   | <ul><li><a href="https://developer.1password.com/docs/sdks/manage-items/#create-an-item">アイテムをCreateする</a></li><li><a href="https://developer.1password.com/docs/sdks/manage-items/#get-a-one-time-password">フィールド値を取得する</a></li><li><a href="https://developer.1password.com/docs/sdks/manage-items/#get-an-item">アイテムを取得する</a></li><li><a href="https://developer.1password.com/docs/sdks/manage-items/#update-an-item">アイテムを更新する</a></li><li><a href="https://developer.1password.com/docs/sdks/manage-items/#delete-an-item">アイテムを削除する</a></li><li><a href="https://developer.1password.com/docs/sdks/list-vaults-items#list-items">アイテムをリストする</a></li></ul> | [サポートされているフィールドタイプ](https://developer.1password.com/docs/sdks/concepts/#supported-field-types)に対して操Createを実行できます。 |
| 保管庫管理    | <ul><li>保管庫をリストする</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                   |
| 認証       | <ul><li><a href="https://developer.1password.com/docs/service-accounts/get-started">1Password Service Accounts</a>対応</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                                                   |

### インテグレーションの例 <a href="#id-2669bueslvas" id="id-2669bueslvas"></a>

パートナーがSDKを使って1Passwordとの統合を構築した例をご覧ください。

[Postman](https://go.pstmn.io/1password)

1PasswordにSaveされているAPI キーやその他のシークレットを、平文で公開することなく、安全にPostmanに読み込みませました。

[もっと詳しく知る](https://go.pstmn.io/1password)

[Pulumi ESC](https://www.pulumi.com/docs/esc/providers/1password-secrets/)

1Passwordからシークレットを環境に動的にインポートするようにしました。プロバイダーは、シークレットの名前のマップを返します。

[もっと詳しく知る](https://www.pulumi.com/docs/esc/providers/1password-secrets/)

### [始めましょう](https://developer.1password.com/docs/sdks/#get-started) <a href="#d561tzs5f65k" id="d561tzs5f65k"></a>

始める前に、[1Passwordアカウントにサインアップする](https://start.1password.com/sign-up/plan)必要があります。

#### ステップ 1：サービスアカウントをCreateる <a href="#et5ype56u9mq" id="et5ype56u9mq"></a>

[1Passwordサービスアカウント](https://developer.1password.com/docs/service-accounts/get-started)をCreateり、SDKで使うシークレットがSaveされている保管庫へのアクセス権を付与します。

SDKがアイテムを更新できるようにするには、適切な保管庫での読み取り権限と書き込み権限の両方をサービスアカウントに付与するようにしてください。

#### ステップ 2：サービスアカウントトークンを準備する <a href="#tb6w0cx5wfs4" id="tb6w0cx5wfs4"></a>

SDKは、サービスアカウントトークンを使って1Passwordに認証します。環境からトークンをプロビジョニングすることをお勧めします。

次の例を使用して、 という名前の環境変数にトークンをプロビジョニングしますOP\_SERVICE\_ACCOUNT\_TOKEN。ファイルから読み取るなど、他の方法でトークンをプロビジョニングすることもできます。

* **Bash、sh、zsh**

$ export OP\_SERVICE\_ACCOUNT\_TOKEN=\<your-service-account-token>

* **fish**

$ set -x OP\_SERVICE\_ACCOUNT\_TOKEN \<your-service-account-token>

* **PowerShell**

$ Env:OP\_SERVICE\_ACCOUNT\_TOKEN = "\<your-service-account-token>"

#### ステップ3：SDKをインストールする <a href="#d0rrnvhhq5gz" id="d0rrnvhhq5gz"></a>

あなたのプロジェクトにSDKをインストールします。

* **Go**

go get [github.com/1password/onepassword-sdk-go](http://github.com/1password/onepassword-sdk-go)

* **JavaScript**

$ npm install @1password/sdk

* **Python**

pip install onepassword-sdk

#### ステップ4：SDKをインポートする <a href="#id-2qcyr1os27d0" id="id-2qcyr1os27d0"></a>

SDKをプロジェクトにインポートします。

* **Go**

import "github.com/1password/onepassword-sdk-go"

* **JavaScript**

**CommonJS**\
**const sdk = require("@1password/sdk");**

**ES Modules**\
**import sdk from "@1password/sdk";**

* Python

from onepassword import \*

#### ステップ5：SDKを初期化する <a href="#wxr4qlws7pga" id="wxr4qlws7pga"></a>

SDKを初期化すると、設定パラメーターを含むクライアントインスタンスがCreateされます。

* **Go**

このonepassword.NewClient関数は、サービス アカウントトークンをパラメーターとして受け取ります。SDKはこのトークンを認証に使用します。

次の例では、SDKは環境変数OP\_SERVICE\_ACCOUNT\_TOKENのパラメーターを使って関数onepassword.NewClientからサービスアカウントトークンを取得します。

”My 1Password Integration”と”v1.0.0”の代わりに、アプリケーションの名前とバージョンを必ず指定してください。

![](/files/Jpe0uodBZrUG77Qz8vg8)

* **JavaScript**

このCreateClient関数は、サービスアカウントトークンをパラメーターとして受け取ります。SDK はこのトークンを認証に使用します。

次の例では、SDK は関数OP\_SERVICE\_ACCOUNT\_TOKENのパラメータを使用して環境変数からサービス アカウント トークンを取得しますCreateClient。

My 1Password Integrationおよびの代わりに、アプリケーションの名前とバージョンを必ず指定してくださいv1.0.0。

![](/files/OCmxCeACtmOq2iwUDAUl)

* **Python**

このclient.authenticate関数は、サービス アカウント トークンをパラメーターとして受け取ります。SDK はこのトークンを認証に使用します。

次の例では、SDK は関数OP\_SERVICE\_ACCOUNT\_TOKENのパラメータを使用して環境変数からサービス アカウント トークンを取得しますclient.authenticate。

My 1Password Integrationおよびの代わりに、アプリケーションの名前とバージョンを必ず指定してくださいv1.0.0。

![](/files/GkkI64wSocb6XpdPSGeb)

#### ステップ6:構築開始 <a href="#h1kqqlvoql3n" id="h1kqqlvoql3n"></a>

これで、SDK を使って構築を始める準備が整いました。例については、 [Go](https://github.com/1Password/onepassword-sdk-go/tree/main/example)、[JavaScript](https://github.com/1Password/onepassword-sdk-js/tree/main/examples)、または[Python](https://github.com/1Password/onepassword-sdk-python/blob/main/example/example.py) SDK の GitHub リポジトリにアクセスするか、次の方法を学んでください。

* [シークレットをロードする](https://developer.1password.com/docs/sdks/load-secrets/)
* [アイテムを管理する](https://developer.1password.com/docs/sdks/manage-items/)
* 保管庫[とアイテムの一覧](https://developer.1password.com/docs/sdks/list-vaults-items/)

### ヘルプを受ける <a href="#vo9szqjz6jtp" id="vo9szqjz6jtp"></a>

1Password SDK に関するサポートを受けるには、[Developer Slack ワークスペース](https://developer.1password.com/joinslack)に参加し、チャネルで質問してください#sdk。

新しい機能をリクエストしたり、バグを報告したりするには、適切な GitHub リポジトリに問題を報告してください。

* [Go](https://github.com/1Password/onepassword-sdk-go/issues/new/choose)
* [JavaScript](https://github.com/1Password/onepassword-sdk-js/issues/new/choose)
* [Python](https://github.com/1Password/onepassword-sdk-python/issues/new/choose)
