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

Python

Создать файл get_snapshot.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:
ITEM_ID = "68da8894f28bf56cec08c55e"
SNAPSHOT_ID = "68da8894f28bf56cec08c560"
DOWNLOAD_PATH = os.path.join("./attachments", SNAPSHOT_ID)

snapshot = passwork.get_snapshot(ITEM_ID, SNAPSHOT_ID)
# Если нужно получить из редакции вложенный файл
#passwork.download_snapshot_attachments(snapshot, DOWNLOAD_PATH)
print(f"Decrypted item: {snapshot}")
except Exception as e:
print(f"Error: {e}")
Описание
  • Параметр ITEM_ID определяет запись из которой нужно получить редакцию. ID записи можно получить открыв веб-интерфейс Пассворка, встать на запись, и в адресной строке отобразится ID, пример — https://passwork.example.org/p/68d3cf81473b357ee60a66cd
  • Параметр SNAPSHOT_ID определяет ID редакции которую нужно получить из записи.

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

(api) passwork@api-integration:~# python3 get_snapshot.py 
{
"id": "68da8894f28bf56cec08c560",
"itemId": "68da8894f28bf56cec08c55e",
"name": "Prometheus PROD",
"login": "administrator",
"passwordEncrypted": "amt4cwv48xb6pp1h5x6p2kjja1h7cvvfcx6n0n268rrmup9t99d3ebu2e174erj99hp62tk58h254u2p6126cujne9jngavq6x46mnr",
"url": "https://prom.passwork.com",
"customs": [],
"tags": [
"passwork",
"prometheus"
],
"attachments": [],
"creatorId": "6874f2180c7799f6d5058707",
"createdAt": 1759152276,
"keyEncrypted": "amt4cwv48xb6pp1h74t5ak346nnpytjhegvmmra59ngp6wkk712myp2764v76pa7aha6rdbaan6pegjbchq3arj1c5kqmx3fdt1p2kbu750k4xthemu62nvfct5mentt896p4kvg6tupgx9q6wv4ubvje95p8btfb1vqgn339xmn2mkne59p2m2b5dbpjmktd59k6tata1x38jkrct7q2kun5xr36gv18cv6wdbnf1a68tj79dv58whrcnp4mgade1rqmvb5ctjmec3584yg",
"description": null,
"fieldsOrder": null,
"creator": {
"id": "6874f2180c7799f6d5058707",
"login": "admin",
"fullName": "sam",
"hasAvatar": false,
"isDeleted": false
},
"password": "H2.V4g(xKYR]%gOByjj~gF"
}