実行手順
1.poetryのインストールsudo apt-get update && sudo apt-get -y install python3 python3.8-venv
curl -sSL https://install.python-poetry.org | python3 -
echo 'export PATH="~/.local/bin:$PATH"' >> ~/.profile
source ~/.profile
2.lxmlとrequestsのインストール
以下のコマンドでlxml, requestsをインストールした仮想環境を作成します
mkdir -p ~/nextcloud_api
cd ~/nextcloud_api
poetry init -n
poetry add lxml
poetry add requests
poetry shell
3. プログラムの作成と実行
以下のPythonスクリプトを実行すると、指定したユーザの情報を返します。
nc_get_userinfo.py
# coding: utf-8
from lxml import etree
import requests
user = 'adminuser'
password = 'adminpass'
host = 'yourhost:8080'
# 情報を取得したいユーザのユーザIDを指定します
userid = 'sampleuser'
baseuri="http://" + user + ":" + password + "@" + host + "/ocs/v1.php/cloud/users/" + userid
headers = {'content-type': 'text/xml', 'OCS-APIRequest':'true'}
response = requests.get(
baseuri,
headers=headers)
#print(response.content)
root = etree.fromstring(response.content.decode("utf-8").replace('element>','elem>'))
# 表示名
print("displayname:" + root.find('.//displayname').text)
# Quota
if root.find('.//quota/quota') is not None:
print("quota:" + root.find('.//quota/quota').text)
# emailアドレス
print("email:" + root.find('.//email').text)
# 所属グループ
for record in root.findall('.//groups/elem', root.nsmap):
print(record.text)
・実行コマンド
python3 nc_get_userinfo.py
関連情報
・User provisioning APIhttps://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_provisioning_api.html
・Nextcloudに関する記事は、以下のまとめを参照してください。
Nextcloudのまとめ
0 件のコメント:
コメントを投稿