取得文件預覽編輯憑證。
介面說明
-
請確保在使用該介面前,已充分了解智慧媒體管理產品的收費方式和價格。
-
不建議對 OSS 檔案執行跨境存取操作。例如,檔案儲存在新加坡地域的 Bucket 中,卻從中國內地發起預覽、讀取或下載請求。在此類場景下,網路鏈路品質受跨境網路環境影響較大,可能出現存取延遲升高、預覽失敗、下載中斷或連線不穩定等情況,因此無法保證網路穩定性和存取體驗。建議盡量確保存取端與 Bucket 所在地域保持一致,避免跨境存取帶來的不確定性。
-
存取憑證過期時間為 30 分鐘,重新整理憑證過期時間為 1 天。
-
返回的過期時間為 UTC 時間,和北京時間有 8 小時的時差。
-
支援的輸入檔案格式:
文字文件(Word):doc、docx、txt、dot、wps、wpt、dotx、docm、dotm、rtf。
簡報文件(PPT):ppt、pptx、pptm、ppsx、ppsm、pps、potx、potm、dpt、dps。
試算表文件(Excel):et、xls、xlt、xlsx、xlsm、xltx、xltm、csv
PDF 文件:pdf。
-
支援最大的檔案 200MB。
-
支援最大的文件頁數 5000 頁。
-
2023-12-01 之前建立的專案,按照文件開啟次數計費。目前按照 API 介面呼叫次數計費。如需切換成新的計費模式,建立新的專案即可,但需要注意,一次 API 呼叫只能給一個使用者使用,若重複使用,則只有最後一個使用者可以正常存取,其餘使用者的存取權限將被回收。
-
在與智慧媒體管理相同的地域下開通 MNS 服務,建立主題和佇列,並設定訂閱關係,可以透過 NotifyTopicName 參數傳入 MNS 主題名稱來接收檔案儲存的訊息通知。關於 MNS SDK 的更多資訊,請參見接收和刪除訊息。 檔案儲存訊息通知 Message 欄位 JSON 格式範例請參考 WebOffice 訊息通知格式。
若要使用多版本功能,必須先在 OSS 中開通多版本功能,然後將 "History"參數設定為 true。 。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
imm:GenerateWebofficeToken |
none |
*Project
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| ProjectName |
string |
是 |
專案名稱,取得方式請參見建立專案。 |
test-project |
| SourceURI |
string |
是 |
待預覽或編輯文件的 OSS 位址。 OSS 位址規則為 |
oss://test-bucket/test-object.docx |
| Filename |
string |
否 |
檔案名稱,必須包含副檔名。預設為參數 SourceURI 的最後一級。 支援的副檔名(其中 PDF 只支援預覽):
|
test-Object.pptx |
| CachePreview |
boolean |
否 |
快取預覽標識:
重要 快取預覽和非快取預覽的單價不同,詳情請查看計費項說明。
重要 快取預覽時不支援文件內容搜尋,不支援列印。 重要 快取預覽暫不支援更新快取內容。 |
true、false |
| Referer |
string |
否 |
OSS 防盜連結。IMM 需要從 OSS 中取得來源檔案,如果 OSS 進行了防盜連結設定,IMM 需要將對應的標頭傳給 OSS 才能取得來源檔案。 說明
如果存取文件所在的 Bucket 設定了 Referer,請設定此參數。 |
* |
| UserData |
string |
否 |
使用者自訂資訊,必須填寫 Notification 參數傳入 MNS 設定時才能生效,在非同步訊息通知中會為您返回,用於方便您系統內對訊息通知進行關聯處理。最大長度為 2048 位元組。 |
{ "id": "test-id", "name": "test-name" } |
| PreviewPages |
integer |
否 |
限制只能預覽前幾頁,預設不限制。最大不能超過 5000。 |
5 |
| Password |
string |
否 |
文件的開啟密碼。 說明
如果需要預覽或編輯有密碼的文件,請設定此參數。 |
123456 |
| ExternalUploaded |
boolean |
否 |
OSS 上傳同名檔案是否是預期行為。取值如下:
|
false |
| NotifyTopicName |
string |
否 |
支援將一些事件以 MNS 訊息的方式通知給客戶。該參數為 MNS 非同步訊息通知的 topic。 |
test-topic |
| Hidecmb |
boolean |
否 |
是否隱藏工具列,文件預覽模式下支援設定此參數。取值如下:
|
false |
| Permission | WebofficePermission |
否 |
使用者權限資訊,以 JSON 格式表示。 使用者權限包括如下選項: 每個選項的類型均為 Boolean,預設值均為 false,可選值為 true 和 false。
說明
PDF 僅支援預覽功能,因此必須將" Readonly"參數設定為 true。 說明
PDF 檔案不支援匯出。 說明
若要使用多版本功能,必須先在 OSS 中開通多版本功能,然後將 "History"參數設定為 true。 重要 快取預覽時不支援列印。 重要 編輯模式可以查看歷史版本,預覽模式不支援查看歷史版本。 |
|
| User | WebofficeUser |
否 |
使用者資訊。可傳入業務側的使用者資訊,WebOffice 頁面將顯示該資訊。 系統透過 User.Id 區分不同使用者,User.Name 僅用於前端展示。如果未傳入 User.Id,後端將自動產生一個隨機 ID。不同 ID 的使用者視為不同主體,無法互相修改或刪除評論。 預設格式為:Unknown_隨機字串。若未傳入 User.Id,使用者資訊將預設顯示為 "Unknown"。 |
|
| Watermark | WebofficeWatermark |
否 |
浮水印資訊。該浮水印在前端產生,並沒有寫入到來源文件中,同一個文件傳入不同的參數會得到不同的浮水印。 |
|
| CredentialConfig | CredentialConfig |
否 |
如無特殊需求,請保持留空即可。 鏈式授權設定,非必填。更多資訊,請參見使用鏈式授權存取其他實體資源。 |
|
| Notification | Notification |
否 |
Notification 訊息通知設定,目前僅支援 MNS,非同步通知訊息格式請參考 WebOffice 訊息通知格式。 說明
檔案儲存和檔案重新命名時會有訊息通知。 |
典型場景舉例
對於如下範例的參數結構,對一些經典的場景範例說明:
預覽唯讀檔案(如果是預覽 pdf 檔案,必須這樣設定)
文件預覽模式,文件只能預覽不可編輯規則:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.pdf",
"Filename" : "test-object.docx",
"PreviewPages" : "5",
"Permission" : "{'Readonly':'true'}"
}
預覽副檔名為大寫的檔案
預覽副檔名為大寫的檔案,需要設定 Filename 參數副檔名為小寫:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.DOCX",
"Filename" : "test-object.docx",
"PreviewPages" : "5",
"Permission" : "{'Readonly':'true'}"
}
對指定文件只預覽前 5 頁
文件一共 10 頁,只顯示前 5 頁規則:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"PreviewPages" : "5",
"Permission" : "{'Readonly':'true'}"
}
對指定文件預覽新增密碼
文件預覽時設定密碼,或者來源檔案設定了密碼預覽時直接開啟不需要密碼規則:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Password" : "123456",
"Permission" : "{'Readonly':'true'}"
}
對指定的文件預覽新增浮水印
文件預覽時新增浮水印規則:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Watermark" : "{'Type':'1','Value':'水印值','Font':'bold 20px Serif'}",
"Permission" : "{'Readonly':'true'}"
}
對指定的文件預覽時隱藏工具列
文件預覽時隱藏工具列規則:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Hidecmb" : "true",
"Permission" : "{'Readonly':'true'}"
}
對指定的文件進行線上編輯,查看歷史版本,複製,列印,匯出 PDF 權限
文件線上編輯,查看歷史版本,複製,列印,匯出 PDF 權限規則:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Permission" : "{'Readonly':'false','History':'true','Copy':'true','Print':'true','Export':'true'}"
}
```。
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
Weboffice 存取憑證。 |
||
| RequestId |
string |
請求 ID。 |
1759315A-CB33-0A75-A72B-62D7******** |
| WebofficeURL |
string |
Weboffice 入口 URL。線上預覽或者編輯文件。 說明
無法透過瀏覽器直接開啟,需要配合 Weboffice JS-SDK,和存取憑證(AccessToken)一起才可以預覽或編輯文件。更多資訊,請參見快速入門。 |
https://office-cn-shanghai.imm.aliyuncs.com/office/s/dd221b2cdb44fb66e9070d1d70a8b9bbb6d6fff7?_w_tokentype=1 |
| AccessToken |
string |
Weboffice 存取憑證。 |
2d73dd5d87524c5e8a194c3eb5******** |
| RefreshToken |
string |
Weboffice 重新整理憑證。 |
e374995ec532432bb678074d36******** |
| AccessTokenExpiredTime |
string |
存取憑證的過期時間。過期時間 30 分鐘。格式為:YYYY-MM-DDTHH:mm:ss。 |
2021-08-30T13:13:11.347146982Z |
| RefreshTokenExpiredTime |
string |
重新整理憑證的過期時間。過期時間 1 天。格式為:YYYY-MM-DDTHH:mm:ss。 |
2021-08-31T12:43:11.347146982Z |
常見錯誤。
ProjectName 對應的專案未找到,請到新版本 IMM 主控台檢查地域下該專案是否存在。
{
"Code": "ResourceNotFound",
"Message": "The specified resource acs:imm::xxx:project/xxx is not found"
}
```。
User 參數是必填參數,請檢查該參數是否填寫。
{ "Code": "InvalidArgument.User", "Message": "The parameter User is required but not provided" }
User 參數不正確,請檢查該參數值是否是正確的 JSON 格式。
{ "Code": "InvalidJSON parsing error, User", "Message": "Specified parameter JSON parsing error, User is not valid." }
Permission 參數不正確,請檢查該參數值是否是正確的 JSON 格式。
{ "Code": "InvalidJSON parsing error, Permission", "Message": "Specified parameter JSON parsing error, Permission is not valid." }
Watermark 參數不正確,請檢查該參數值是否是正確的 JSON 格式。
{ "Code": "InvalidJSON parsing error, Watermark", "Message": "Specified parameter JSON parsing error, Watermark is not valid." }
PreviewPages 參數格式不正確,請檢查 PreviewPages 參數值。
{ "Code": "InvalidPreviewPages", "Message": "Specified parameter PreviewPages is not valid." }
SourceURI 對應的 OSS 檔案不存在,請檢查 Bucket 下該檔案是否存在。
{ "Code": "ResourceNotFound", "Message": "The specified resource oss://xx is not found" }
樣本
正常返回樣本
JSON格式
{
"RequestId": "1759315A-CB33-0A75-A72B-62D7********",
"WebofficeURL": "https://office-cn-shanghai.imm.aliyuncs.com/office/s/dd221b2cdb44fb66e9070d1d70a8b9bbb6d6fff7?_w_tokentype=1",
"AccessToken": "2d73dd5d87524c5e8a194c3eb5********",
"RefreshToken": "e374995ec532432bb678074d36********",
"AccessTokenExpiredTime": "2021-08-30T13:13:11.347146982Z",
"RefreshTokenExpiredTime": "2021-08-31T12:43:11.347146982Z"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。