Перейти к основному содержимому
Версия: 7.0

Python

Создать файл search_item.py с следующим содержимым:

from passwork_client import PassworkClient
import os

# Конфигурация
ACCESS_TOKEN = "FxWvuVqP9cPvAdWq3BMsSwVaEtFltaka49sv+2HjJME="
REFRESH_TOKEN = "2z7wR6gkNYSVBZEV3D/zddX+GW7LYuNN4WYOaZxHgMQ=" # Опционально (необходим для обновления токенов)
MASTER_KEY = "EgOHwWQZcsgp/hFUAXS0PD60IUjxinfUEo8kUomhloumAXsRPtZ/7wTubtT7WXSpbfvKDDlm+yeOt5l5mN++IQ==" # Мастер ключ (если клиентское шифрование активировано)
HOST = "https://passwork.example.org" # Адрес Пассворка

# Авторизация в Пассворке
try:
passwork = PassworkClient(HOST)
passwork.set_tokens(ACCESS_TOKEN, REFRESH_TOKEN)
if bool(MASTER_KEY):
passwork.set_master_key(MASTER_KEY)
except Exception as e:
print(f"Error: {e}")
exit(1)

# Пример: Поиска записей
try:
tags = [] # Опционально
folders = [] # Опционально
vaults = [] # Опционально
search_query = "Prometheus" # Опционально

items = passwork.search_and_decrypt(tags=tags, folder_ids=folders, vault_ids=vaults, query=search_query)
print(f"Decrypted items: {items}")
except Exception as e:
print(f"Error: {e}")
Описание
  • Параметр tags выполнить поиск записи содержащий определённый или несколько тегов, пример — tags = ["passwork", "postgresql"]
  • Параметр folders выполнить поиск в папке или папках (в папках уровнем ниже поиск не выполняется), пример — folders = ["68dd0540f21ee0493f07614a", "68dd0572f21ee0493f07614d"]
  • Параметр vaults выполнить поиск записей в сейфе или сейфах (поиск учитывает папки и подпапки при поиске), пример — vaults = ["687663896eea6641b6065cd8", "68d835957229742928084234"]
  • Параметр search_query выполнить поиск записи по: названию записи, URL адресу или заметке, пример — search_query = "Prometheus"

В скрипт поместить полученные токены (мастер-ключ пользователя, если клиентское шифрование активировано) из веб-интерфейса и сохранить. Пример запуска скрипта и успешного поиска записей:

(api) passwork@api-integration:~# python3 search_item.py 
[
{
"id": "68da8894f28bf56cec08c55e",
"vaultId": "687663896eea6641b6065cd8",
"folderId": null,
"passwordEncrypted": "amt4cwv48xb6pp1h5d3pcvkuahqm2jje8xpp2daj6ct5gxu3anqmuujeb90m4y1fdtm4mjbkehuqgvk2cham8uv4b535jujea9tmygr",
"keyEncrypted": "amt4cwv48xb6pp1h74t5ak346nnpytjhegvmmra59ngp6wkk712myp2764v76pa7aha6rdbaan6pegjbchq3arj1c5kqmx3fdt1p2kbu750k4xthemu62nvfct5mentt896p4kvg6tupgx9q6wv4ubvje95p8btfb1vqgn339xmn2mkne59p2m2b5dbpjmktd59k6tata1x38jkrct7q2kun5xr36gv18cv6wdbnf1a68tj79dv58whrcnp4mgade1rqmvb5ctjmec3584yg",
"customs": [],
"attachments": [],
"name": "Prometheus DEV",
"login": "administrator",
"url": "https://prom.passwork.com",
"description": null,
"tags": [
"passwork",
"prometheus"
],
"fieldsOrder": null,
"isDeleted": false,
"color": 0,
"isFavorite": false,
"vaultMasterKeyEncrypted": "oUn96mdysy5Pw7W9r3Ss0Gv1gd54jh0cmTVQrxhI5OkseptPGVZFdd6TaswgqjFOwS1WS1Ail8Tu82XNn346VBYsZ19z5bltKXJelwfedoQwTwIPFABC/u9hHt2HOGiSh6hBE2bpFzN376qFm9IpFN5xXmFydXB2tN+EbklCLngEERRmNgxlImaeq/O2tgwvn/kZkHROK7d/Bnd7/jMcEeekX0jTJBVg78BMHOdb+whOLr5dhZIyAI1pi9kzLnxzoE9oAKTV8mQe+eXhBWjgI5LXb++0Oghua3EbY2prndNU6ZuUDbQBO/3zeTlfXIr27V8q7I2msspJulJP5lpVfw==",
"password": "H2.V4g(xKYR]%gOByjj~gF"
}
]