파이썬으로 시놀로지 NAS 파일에 접근하려면 먼저 GET으로 인증을 받아야 한다. 버전에 따라 사용법이 다르지만 최근 버전에 맞도록 작성해 보았다.
import requests
import json
api_url = "https://your.synology.me:port/webapi/entry.cgi"
username = "시놀로지 사용자 아이디"
password = "비밀번호"
parameters = {
'api': 'SYNO.API.Auth',
'version': 6,
'method': 'login',
'account': username,
'passwd': password,
'session': 'FileStation',
'format': 'cookie',
'otp_code': '564567'
}
response = requests.get(url=api_url, params = parameters)
print(json.loads(response.content))
시놀로지 DSM에 로그인할 때 이중 인증을 설정했다면 otp_code(Secure Signin에 나오는 코드)를 꼭 입력해야한다. 파라미터를 정상적으로 입력하여 GET으로 요청하면 결과값은 다음과 같다.
{
'data': {
'did': '9qA',
'is_portal_port': False,
'sid': 'rsM'
},
'success': True
}
ㅤ
When the user log in with format=sid, cookie will not be set and each API request should provide a request parameter _sid= along with other parameters.
인증된 세션 아이디. 사용자가 format=sid로 로그인하면, 쿠키는 셋팅되지 않을 거다. API 요청에는 _sid=가 다른 파라미터들과 함께 전달되어야 한다.
장치를 구분하기 위한 장치 아이디. uuid과 다른거임?
|참고|