Kết nối với Box bằng Python

Tạo mã thông báo của nhà phát triển từ trang cấu hình ứng dụng của bạn [https. //ứng dụng. hộp. com/nhà phát triển/dịch vụ]

Bạn sẽ được nhắc về nó trên dòng lệnh

$ from boxsdk import DevelopmentClient
$ client = DevelopmentClient[]
>>> Enter developer token: 
$ me = client.user[].get[]

GET //api.box.com/2.0/users/me {'headers': {u'Authorization': u'Bearer ----KkeV',
             u'User-Agent': u'box-python-sdk-1.4.3'},
 'params': None}

{"type":"user","id":"----6009","name":"Jeffrey Meadows","login":"jmeadows@box.com",...}

$ me.name
>>> Jeffrey Meadows

DevelopmentClient sử dụng mã thông báo của nhà phát triển Box để xác thực [và sẽ nhắc bạn nhập mã thông báo mới khi hết hạn], đồng thời ghi lại các yêu cầu và phản hồi API, giúp bạn bắt đầu tìm hiểu SDK và API Box thực sự dễ dàng

Tạo ứng dụng cho người dùng

ủy quyền

Nếu muốn người dùng khác sử dụng ứng dụng của mình, bạn cần thiết lập cách để họ ủy quyền cho ứng dụng của bạn và cấp cho ứng dụng quyền truy cập vào tài khoản Box của họ. Mô-đun auth chứa một số lớp để giúp bạn làm điều đó

Lớp đơn giản nhất là lớp OAuth2. Để sử dụng nó, hãy khởi tạo nó với client_idclient_secret của bạn

Làm theo hướng dẫn để có được ứng dụng khách được ủy quyền cho người dùng. Sử dụng lệnh gọi lại store_tokens, bạn có thể duy trì mã xác thực và làm mới mã thông báo của người dùng cho lần tiếp theo họ sử dụng ứng dụng của bạn. Sau khi họ quay lại ứng dụng của bạn, bạn có thể tạo ứng dụng khách được ủy quyền như vậy

from boxsdk import OAuth2, Client

oauth = OAuth2[
    client_id='YOUR_CLIENT_ID',
    client_secret='YOUR_CLIENT_SECRET',
    store_tokens=your_store_tokens_callback_method,
    access_token=persisted_access_token,
    refresh_token=persisted_refresh_token,
]
client = Client[oauth]

Yêu cầu Box

Sau khi có ứng dụng khách được ủy quyền, bạn có thể sử dụng ứng dụng đó để gửi yêu cầu tới Box thay mặt cho người dùng của mình. Máy khách có một số phương thức để giúp bạn bắt đầu, nhiều phương thức trong số đó trả về các đối tượng Box, do đó, các phương thức này có các phương thức tương ứng với các điểm cuối API Box

Tài liệu mô-đun bên dưới mô tả từng phương thức này và các tham số mà chúng yêu cầu. Một số điểm cuối API không có phương thức SDK tương ứng;

Máy khách Python để tương tác với modem/bộ định tuyến cáp Compal CH7465LG được cung cấp dưới nhiều tên khác nhau bởi nhiều ISP ở Châu Âu

  • Hộp kết nối UPC [CH]

  • Ailen Virgin Media Super Hub 3. 0 [TỨC LÀ]

  • Hộp kết nối Ziggo [NL]

  • Hộp kết nối Unitymedia [DE]

Mô-đun này không chính thức, được phát triển, hỗ trợ hoặc xác nhận bởi UPC, Unitymedia hoặc Compal

Có một giao diện cung cấp thông tin chi tiết về các trạng thái khác nhau như bảng thuê DHCP cho Ethernet và Wifi



   
      
         Ethernet 2
         192.168.0.160/24
         0
         2
         GW-B072BF27A983
         B0:72:BF:27:A9:83
         1
         00:00:34:53
...

connect_box đang xử lý việc truy xuất dữ liệu và phân tích cú pháp. Trường hợp sử dụng chính là trình theo dõi thiết bị upc_connect của Home Assistant nhưng người ta cũng có thể sử dụng nó trong các dự án khác

Cài đặt

Mô-đun có sẵn từ Chỉ mục gói Python

$ pip3 install connect_box

Trên hệ thống dựa trên Fedora hoặc trên máy CentOS/RHEL 8 đã bật EPEL

$ sudo dnf -y install python3-connect-box

Đối với Nix hoặc NixOS có sẵn mô-đun đóng gói sẵn. Bản phát hành mới nhất thường có trong kênh không ổn định

Các đối tượng tệp đại diện cho các tệp riêng lẻ trong Hộp. Chúng có thể được sử dụng để tải xuống nội dung của tệp, tải lên các phiên bản mới và thực hiện các thao tác tệp phổ biến khác [di chuyển, sao chép, xóa, v.v. ]

Lấy thông tin của một tập tin

Gọi một truy xuất thông tin về tệp từ API. Phương thức này trả về một đối tượng mới được điền với thông tin được lấy

Bạn có thể chỉ định một

file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]
8 trường để truy xuất từ ​​API trong tham số
file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]
9

file_id = '11111'
file_info = client.file[file_id].get[]
print[f'File "{file_info.name}" has a size of {file_info.size} bytes']

Cập nhật thông tin của tệp

Để cập nhật các trường trên đối tượng, hãy gọi [

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
1][update_info] với
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 trường để cập nhật. Phương thức này trả về đối tượng được cập nhật, giữ nguyên bản gốc mà nó được gọi khi chưa sửa đổi

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]

Tải xuống một tệp

Một tệp có thể được tải xuống theo hai cách. bằng cách trả lại toàn bộ nội dung của tệp dưới dạng

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
4 hoặc bằng cách cung cấp luồng đầu ra mà nội dung của tệp sẽ được ghi vào đó. Đối với cả hai phương pháp, bạn có thể tùy ý tải xuống một phiên bản tệp cụ thể bằng cách chuyển phiên bản mong muốn vào tham số
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
6. Bạn cũng có thể chỉ muốn tải xuống một đoạn nhất định của tệp bằng cách chuyển một bộ giá trị byte qua tham số
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
7 — giới hạn dưới và trên mà bạn muốn tải xuống

Để lấy toàn bộ nội dung của tệp dưới dạng

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
4, hãy gọi

file_id = '11111'
file_content = client.file[file_id].content[]

Đối với người dùng có tài khoản trả phí, có thể tải xuống các phiên bản trước của tệp

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]

Ngoài ra, chỉ có thể tải xuống một phần của tệp bằng cách chỉ định phạm vi byte

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]

Để tải nội dung tệp xuống luồng đầu ra, hãy gọi bằng luồng

file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]

Nhận URL tải xuống

Để có URL tải xuống phù hợp để chuyển tới trình duyệt web hoặc ứng dụng khác, cho phép ai đó tải xuống tệp, hãy gọi. Sẽ trả về một chuỗi

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']
2 chứa URL tải xuống của tệp. Bạn có thể tùy ý chuyển a qua tham số
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
6 để nhận URL tải xuống cho một phiên bản cụ thể của tệp

________số 8_______

Tải lên một tài liệu

Các tệp được tải lên một thư mục theo một trong hai cách. bằng cách cung cấp đường dẫn đến tệp trên đĩa hoặc qua luồng có thể đọc được chứa nội dung tệp

Để tải tệp lên từ đường dẫn trên đĩa, hãy gọi phương thức trên đường dẫn bạn muốn tải tệp lên. Theo mặc định, tệp được tải lên Box sẽ có cùng tên tệp với tên trên đĩa; . Bạn cũng có thể tùy ý chọn đặt mô tả tệp khi tải lên bằng cách sử dụng tham số

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']
8. Phương thức này trả về một đối tượng đại diện cho tệp mới tải lên

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']

Để tải tệp lên từ luồng có thể đọc được, hãy gọi bằng luồng và tên cho tệp. Phương thức này trả về một đối tượng đại diện cho tệp mới tải lên

file_name = 'file.pdf'
stream = open['/path/to/file.pdf', 'rb']

folder_id = '22222'
new_file = client.folder[folder_id].upload_stream[stream, file_name]
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']

Tải lên theo đoạn

Đối với các tệp lớn hoặc trong trường hợp kết nối mạng kém tin cậy hơn, bạn có thể muốn tải tệp lên thành nhiều phần. Điều này cho phép một phần bị lỗi mà không hủy bỏ toàn bộ quá trình tải lên và các phần bị lỗi sau đó có thể được thử lại

Trình tải lên tự động

Tải lên tệp mới

SDK cung cấp phương pháp tự động xử lý tải lên chunked. Trước tiên, hãy lấy một thư mục bạn muốn tải tệp lên. Sau đó gọi để lấy một đối tượng. Gọi phương thức sẽ khởi động quá trình tải lên chunked và trả về đối tượng đã được tải lên

# uploads large file to a root folder 
chunked_uploader = client.folder['0'].get_chunked_uploader[file_path='/path/to/file.txt', file_name='new_name.txt']
uploaded_file = chunked_uploader.start[]
print[f'File "{uploaded_file.name}" uploaded to Box with file ID {uploaded_file.id}']

Bạn cũng có thể tải lên luồng tệp bằng cách tạo trước và sau đó gọi phương thức

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
0

Tải lên phiên bản tệp mới

Để tải lên phiên bản tệp mới cho tệp lớn, trước tiên hãy lấy tệp bạn muốn thay thế. Sau đó gọi để lấy một đối tượng. Việc gọi phương thức này sẽ bắt đầu quá trình tải lên chunked và trả về bản cập nhật

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
1

Kiểm tra sơ bộ trước khi tải lên

Để kiểm tra xem một tệp có thể được tải lên với tên đã cho vào một thư mục cụ thể hay không, hãy gọi. Nếu kiểm tra không vượt qua, phương pháp này sẽ đưa ra một ngoại lệ bao gồm một số chi tiết về lý do tại sao nó không vượt qua

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
2

Tiếp tục Tải lên

Đôi khi quá trình tải lên có thể bị gián đoạn, để tiếp tục tải lên ở nơi bạn đã dừng lần cuối, chỉ cần gọi phương thức. Điều này sẽ trả về đối tượng đã được tải lên

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
3

Ngoài ra, bạn cũng có thể tạo một đối tượng bằng cách gọi [

# uploads large file to a root folder 
chunked_uploader = client.folder['0'].get_chunked_uploader[file_path='/path/to/file.txt', file_name='new_name.txt']
uploaded_file = chunked_uploader.start[]
print[f'File "{uploaded_file.name}" uploaded to Box with file ID {uploaded_file.id}']
3][upload_session] nếu bạn có id phiên tải lên. Điều này có thể hữu ích trong việc tiếp tục phiên tải lên hiện tại

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
4

Hủy bỏ tải lên chunked

Để hủy bỏ quá trình tải lên đang chạy, hủy bỏ tất cả các khối hiện đang tải lên và hủy bỏ phiên tải lên, hãy gọi phương thức

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
5

Quy trình thủ công

Đối với các trường hợp tải lên phức tạp hơn, chẳng hạn như các trường hợp được phối hợp giữa nhiều quy trình hoặc khi xảy ra lỗi không thể khôi phục với trình tải lên tự động, các điểm cuối cho hoạt động tải lên phân đoạn cũng được hiển thị trực tiếp

Ví dụ: đây đại khái là cách tải lên chunked được thực hiện thủ công

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
6

Các phương pháp điểm cuối riêng lẻ được trình bày chi tiết bên dưới

Tạo phiên tải lên cho phiên bản tệp

Để tạo phiên tải lên để tải lên phiên bản lớn, hãy gọi với kích thước của tệp sẽ được tải lên. Bạn có thể tùy chọn chỉ định một

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']
7 mới để đổi tên tệp khi tải lên. Phương thức này trả về một đối tượng đại diện cho phiên tải lên đã tạo

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
7

Tạo phiên tải lên cho tệp

Để tạo phiên tải lên để tải lên một tệp lớn mới, hãy gọi với kích thước và tên tệp của tệp sẽ được tải lên. Phương thức này trả về một đối tượng đại diện cho phiên tải lên đã tạo

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
8

Tải lên một phần

Để tải một phần của tệp lên phiên này, hãy gọi với ____8_______4 sẽ được tải lên, độ lệch byte trong tệp [phải là bội số của phiên tải lên

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
02] và tổng kích thước của tệp được tải lên. Phương thức này trả về một
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 cho bản ghi bộ phận;

Ghi chú. Số byte được tải lên cho mỗi phần phải chính xác là

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
04, ngoại trừ phần cuối cùng [chỉ bao gồm số lượng byte còn lại trong tệp]

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
9

Phiên tải lên cam kết

Sau khi tải lên tất cả các phần của tệp, hãy cam kết phiên tải lên lên Box bằng cách gọi hàm băm SHA1 của toàn bộ tệp. Để đảm bảo tính nhất quán tốt nhất, bạn cũng nên chuyển một

file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]
8 trong số các phần
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 qua tham số
file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
08; . Bạn cũng có thể vượt qua một
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 của
file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
10 để thiết lập hồ sơ mới

file_id = '11111'
file_content = client.file[file_id].content[]
0

Hủy phiên tải lên

Để hủy tải lên chunked và mất tất cả các phần của tệp đã tải lên, hãy gọi. Phương thức này trả về

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
12 để cho biết rằng việc xóa đã thành công

file_id = '11111'
file_content = client.file[file_id].content[]
1

Liệt kê các bộ phận tải lên

Để trả lại danh sách các phần đã tải lên cho đến nay, hãy gọi. Phương thức này trả về một

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
14 cho phép bạn lặp lại phần
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 trong bộ sưu tập

file_id = '11111'
file_content = client.file[file_id].content[]
2

Di chuyển một tập tin

Để di chuyển tệp từ thư mục này sang thư mục khác, hãy gọi thư mục đích để di chuyển tệp vào. Bạn có thể tùy ý cung cấp tham số

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
17 để tự động đổi tên tệp trong trường hợp có xung đột tên trong thư mục đích. Phương thức này trả về đối tượng được cập nhật trong thư mục mới

file_id = '11111'
file_content = client.file[file_id].content[]
3

Sao chép một tập tin

Một tệp có thể được sao chép vào một thư mục mới bằng cách gọi thư mục đích và một tên mới tùy chọn cho tệp trong trường hợp có xung đột tên trong thư mục đích. Phương thức này trả về một đối tượng đại diện cho bản sao của tệp trong thư mục đích

file_id = '11111'
file_content = client.file[file_id].content[]
4

Đổi tên một tập tin

Một tập tin có thể được đổi tên bằng cách gọi. Phương thức này trả về đối tượng được cập nhật với tên mới. Hãy nhớ cung cấp cả phần mở rộng của tệp cùng với tên mới

file_id = '11111'
file_content = client.file[file_id].content[]
5

Xóa một tập tin

Gọi phương thức sẽ xóa tệp. Tùy thuộc vào cài đặt doanh nghiệp, thao tác này sẽ chuyển tệp vào thùng rác của người dùng hoặc xóa tệp vĩnh viễn. Phương thức này trả về

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
12 để biểu thị rằng việc xóa đã thành công

file_id = '11111'
file_content = client.file[file_id].content[]
6

Nhận các phiên bản trước của tệp

Các phiên bản trước của tệp có thể được truy xuất bằng phương thức. Phương thức này trả về một phương thức có thể lặp qua các đối tượng trong bộ sưu tập

file_id = '11111'
file_content = client.file[file_id].content[]
7

Tải lên phiên bản mới của tệp

Các phiên bản mới của tệp có thể được tải lên theo một trong hai cách. bằng cách cung cấp đường dẫn đến tệp trên đĩa hoặc qua luồng có thể đọc được chứa nội dung tệp

Để tải lên phiên bản tệp mới từ đường dẫn trên đĩa, hãy gọi phương thức. Phương thức này trả về một đối tượng đại diện cho tệp được cập nhật

file_id = '11111'
file_content = client.file[file_id].content[]
8

Để tải lên phiên bản tệp từ luồng có thể đọc được, hãy gọi bằng luồng. Phương thức này trả về một đối tượng đại diện cho tệp mới tải lên

file_id = '11111'
file_content = client.file[file_id].content[]
9

Quảng cáo Phiên bản trước của tệp

Phiên bản trước của tệp có thể được thăng cấp bằng cách gọi phương thức để trở thành phiên bản hiện tại của tệp với quảng cáo. Điều này tạo một bản sao của phiên bản tệp cũ và đặt nó lên trên cùng của ngăn xếp phiên bản. Phương thức này trả về đối tượng sao chép mới

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
0

Xóa phiên bản trước của tệp

Một phiên bản của tệp có thể bị xóa và chuyển vào thùng rác bằng cách gọi [

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
5] để xóa

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
1

Khóa một tập tin

Một tệp bị khóa không thể được sửa đổi bởi bất kỳ người dùng nào khác cho đến khi nó được mở khóa. Điều này hữu ích nếu bạn muốn "kiểm xuất" một tệp trong khi bạn đang làm việc với tệp đó, để đảm bảo rằng các cộng tác viên khác không thực hiện thay đổi trong khi các thay đổi của bạn đang diễn ra

Để khóa một tập tin, hãy gọi. Bạn có thể tùy chọn ngăn người dùng khác tải xuống tệp trong khi tệp bị khóa bằng cách chuyển

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
12 cho tham số
file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
39. Bạn cũng có thể đặt thời gian hết hạn cho khóa, thời gian này sẽ tự động mở khóa vào thời điểm đã chỉ định. Thời gian hết hạn được định dạng là một

Phương thức này trả về đối tượng được cập nhật

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
2

Mở khóa một tệp

Một tập tin bị khóa có thể được mở khóa bằng cách gọi. Phương thức này trả về đối tượng được cập nhật

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
3

Tạo URL tải xuống liên kết được chia sẻ

Một liên kết được chia sẻ cho một tệp có thể được tạo bằng cách gọi. Phương thức này trả về một chuỗi

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']
2 chứa URL liên kết được chia sẻ

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
4

Tìm tệp cho một liên kết được chia sẻ

Để tìm một tệp được cung cấp một liên kết được chia sẻ, hãy sử dụng phương thức

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
5

Tạo hoặc cập nhật Liên kết được chia sẻ

Một liên kết được chia sẻ cho một tệp có thể được tạo hoặc cập nhật bằng cách gọi. Phương thức này trả về một chuỗi

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']
2 chứa URL liên kết được chia sẻ

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
6

Nhận một liên kết được chia sẻ

Để kiểm tra một liên kết được chia sẻ hiện có trên một tệp, chỉ cần gọi

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
48

Phương thức này trả về một chuỗi

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']
2 chứa URL liên kết được chia sẻ

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
7

Xóa liên kết được chia sẻ

Một liên kết được chia sẻ cho một tệp có thể bị xóa bằng cách gọi

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
8

Nhận một liên kết nhúng

Có thể tạo URL nhúng tệp bằng cách gọi. Phương thức này trả về một chuỗi

folder_id = '22222'
new_file = client.folder[folder_id].upload['/home/me/document.pdf']
print[f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}']
2 chứa một URL phù hợp để nhúng vào một
file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
53 để nhúng trình xem tệp vào một trang web

file_id = '11111'
file_version = client.file_version['12345']
version_content = client.file[file_id].content[file_version=file_version]
9

Nhận đại diện tệp

Để có được các biểu diễn xem trước của một tệp, hãy gọi phương thức bằng cách tìm nạp - nếu không có gợi ý nào được cung cấp, thông tin hạn chế về tất cả các biểu diễn có sẵn sẽ được trả về. Phương thức này trả về một

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
55 của
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2s chứa thông tin về các biểu diễn được yêu cầu

Lưu ý rằng phương pháp này chỉ cung cấp thông tin về một tập hợp các biểu diễn có sẵn;

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
0

Nhận hình thu nhỏ [Không dùng nữa]

Một hình thu nhỏ cho một tập tin có thể được lấy ra bằng cách gọi. Phương thức này trả về

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
4 của hình ảnh thu nhỏ

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
1

Nhận hình thu nhỏ

Bây giờ có thể truy xuất hình thu nhỏ cho một tệp bằng cách gọi. Phương thức này trả về

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
4 của hình ảnh thu nhỏ. Bạn phải chuyển vào một thứ nguyên hợp lệ cho phần mở rộng mà bạn chuyển vào cho tệp này. Để tìm thứ nguyên hợp lệ, trước tiên bạn phải thực hiện cuộc gọi với [
file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
54]. Điều này sẽ trả về một
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 của tất cả các biểu diễn có sẵn với các phần mở rộng và kích thước của chúng. Bạn có thể tìm thêm thông tin chi tiết về tài liệu dành cho nhà phát triển của chúng tôi tại đây

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
2

Đặt siêu dữ liệu

Để đặt siêu dữ liệu trên một tệp, hãy gọi để chỉ định phạm vi và khóa mẫu của mẫu siêu dữ liệu cần đính kèm. Sau đó, gọi phương thức [

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
64][metadata_set] với các cặp khóa/giá trị cần đính kèm. Phương thức này trả về một
file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 chứa phiên bản siêu dữ liệu được áp dụng

Ghi chú. Phương pháp này sẽ áp dụng vô điều kiện siêu dữ liệu được cung cấp, ghi đè siêu dữ liệu hiện có cho các khóa được cung cấp. Để tạo hoặc cập nhật siêu dữ liệu một cách cụ thể, hãy xem các phương pháp

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
66 hoặc
file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
67

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
3

Siêu dữ liệu có thể được thêm vào tệp dưới dạng cặp khóa/giá trị dạng tự do hoặc từ mẫu hiện có. Để thêm siêu dữ liệu vào một tệp, trước tiên hãy gọi để chỉ định phạm vi và khóa mẫu của mẫu siêu dữ liệu cần đính kèm [hoặc sử dụng các giá trị mặc định để đính kèm các khóa và giá trị dạng tự do]. Sau đó, gọi với các cặp khóa/giá trị để đính kèm. Phương pháp này chỉ có thể được sử dụng để đính kèm một mẫu siêu dữ liệu đã cho vào tệp lần đầu tiên và trả về một

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 chứa phiên bản siêu dữ liệu được áp dụng

Ghi chú. Phương pháp này sẽ chỉ thành công nếu mẫu siêu dữ liệu đã cung cấp hiện không được áp dụng cho tệp, nếu không, phương pháp này sẽ không thành công với lỗi Xung đột

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
4

Việc cập nhật các giá trị siêu dữ liệu được thực hiện thông qua một loạt các hoạt động riêng biệt, được áp dụng nguyên tử đối với siêu dữ liệu tệp hiện có. Đầu tiên, chỉ định siêu dữ liệu nào sẽ được cập nhật bằng cách gọi. Sau đó, bắt đầu trình tự cập nhật bằng cách gọi và thêm các thao tác cập nhật vào tệp được trả về. Cuối cùng, thực hiện cập nhật bằng cách gọi. Phương thức cuối cùng này trả về một

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 của phiên bản siêu dữ liệu được cập nhật

Ghi chú. Phương pháp này sẽ chỉ thành công nếu mẫu siêu dữ liệu được cung cấp đã được áp dụng cho tệp; . Điều này hữu ích nếu bạn biết rằng tệp đã được áp dụng siêu dữ liệu, vì nó sẽ lưu lệnh gọi API so với

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
76

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
5

Nhận siêu dữ liệu

Để truy xuất phiên bản siêu dữ liệu trên một tệp cho một mẫu siêu dữ liệu cụ thể, trước tiên hãy gọi để chỉ định phạm vi và khóa mẫu của mẫu siêu dữ liệu cần truy xuất, sau đó gọi để truy xuất các giá trị siêu dữ liệu được đính kèm với tệp. Phương thức này trả về một

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 chứa phiên bản siêu dữ liệu được áp dụng

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
6

Xóa siêu dữ liệu

Để xóa một phiên bản siêu dữ liệu khỏi tệp, hãy gọi để chỉ định phạm vi và khóa mẫu của mẫu siêu dữ liệu cần xóa, sau đó gọi để xóa siêu dữ liệu khỏi tệp. Phương thức này trả về

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
12 để cho biết rằng việc xóa đã thành công

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
7

Nhận tất cả siêu dữ liệu

Để truy xuất tất cả siêu dữ liệu được đính kèm vào một tệp, hãy gọi. Phương thức này trả về một giá trị có thể được sử dụng để lặp lại trong các

file_id = '11111'
download_url = client.file[file_id].get_download_url[]
print[f'The file\'s download URL is: {download_url}']
2 đại diện cho từng phiên bản siêu dữ liệu được đính kèm với tệp

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
8

Đặt phân loại

Điều quan trọng cần lưu ý là tính năng này chỉ khả dụng nếu bạn có Quản trị

Để thêm phân loại vào một , hãy gọi. Phương thức này trả về kiểu phân loại trên đối tượng. Nếu một phân loại đã tồn tại thì cuộc gọi này sẽ cập nhật phân loại hiện có với phân loại mới

file_id = '11111'
beginning_of_file_content = client.file[file_id].content[byte_range=[0,99]]
9

Phương thức thiết lập sẽ luôn hoạt động bất kể trạng thái của bạn đang ở đâu. Đối với các trường hợp đã tồn tại giá trị phân loại có thể thực hiện nhiều lệnh gọi API

Ngoài ra, nếu bạn đã biết mình có một phân loại và bạn chỉ cần cập nhật nó, bạn có thể sử dụng. Điều này cuối cùng sẽ giúp bạn tiết kiệm thêm một lệnh gọi API

file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]
0

Lấy một phân loại

Để truy xuất phân loại từ a, hãy gọi. Phương thức này trả về kiểu phân loại trên đối tượng

file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]
1

Xóa phân loại

Để xóa phân loại khỏi a, hãy gọi

file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]
2

Đặt ngày hết hạn chính sách lưu giữ

Để đặt ngày hết hạn chính sách lưu giữ mới cho tệp, hãy gọi. Phương pháp này sẽ chỉ hoạt động đối với các tệp đang được lưu giữ với bộ hành động xử lý

file_id = '11111'
updated_file = client.file[file_id].update_info[data={'description': 'My file'}]
99. Hãy nhớ rằng không thể rút ngắn ngày xử lý sau khi đã đặt trên một tệp. Là tham số
file_id = '11111'
file_content = client.file[file_id].content[]
00, bạn có thể sử dụng chuỗi ngày giờ, e. g. '2035-03-04T10. 14. 24+14. 00' hoặc
file_id = '11111'
file_content = client.file[file_id].content[]
01 đối tượng

file_id = '11111'

# Write the Box file contents to disk
with open['file.pdf', 'wb'] as output_file:
  client.file[file_id].download_to[output_file]
3

Nếu đối tượng

file_id = '11111'
file_content = client.file[file_id].content[]
01 không có múi giờ được chỉ định, thì múi giờ địa phương sẽ được sử dụng. Để có được ngày xử lý hiện tại, bạn có thể sử dụng đoạn mã bên dưới

Chủ Đề