2012-09-12 27 views
2

我正在寫一個iPhone應用程序MyApp,它需要訪問文檔和脫機。我的用戶已經通過Box iPhone應用程序與公司服務器同步來管理這些文檔(pdf,電影等)。Box.net URL Schemes

如果MyApp知道文檔的路徑&文件名,是否可以使用Box URL Schemes來啓動Box並從外部打開文檔?

MyApp不需要存儲或訪問這些文件,因爲Box已經下載了文件,所以沒有必要將它們存儲在這兩個應用程序的文檔空間中。

如果有這樣的URL方案,兩個後續問題是:A)當文檔關閉時是否有回調函給MyApp,以及B)MyApp是否可以使用另一個URL方案獲取文檔列表?

NSURL *ourURL = [NSURL URLWithString:@"box://some/path/to/fileid?callback=myapp://"]; 
if ([ourApplication canOpenURL:ourURL]) { 
    [ourApplication openURL:ourURL]; 
} 

如果這目前不可能,但對Box感興趣,我有興趣成爲beta測試者/早期採用者。

回答

2

如果你只是想將用戶引導到一個箱頁面,您可以將用戶定向到一個特定的文件中的兩種方法之一:

1)如果文件中框,你共享擁有共享名稱,您可以生成共享網址(請參閱developers.box.com文檔中的共享)。但是,這僅適用於共享的文件。

2)如果您在Box中有文件的文件ID,您可以生成一個URL,用戶可以登錄到Box帳戶並查看內容。您可以通過進入Box並查看如何在點擊特定文件時顯示URL來確定該URL。但是,我們不希望爲開發者公佈該網址,因爲我們不保證將來會保留此網址格式。它在一段時間內沒有變化,所以它可能安全使用,但Box提供「使用它自負風險」的免責聲明。

不幸的是,Box沒有辦法根據文件路徑拉出文件。您需要文件ID或共享名稱。沒有依賴文件或文件夾名稱的網址。

+0

我有權訪問MyApp中的文件ID。網址是什麼? 'NSURL * ourURL = [NSURL URLWithString:@「box:// s/zigfha60rm3ntz272gmp」];'? MyApp啓動Box應用程序,但我不確定如何構建網址以打開文件。 – wrightcode

+0

試試這個:https://www.box.com/files/0/f/[folder_id]/1/f_[file_id] –

+0

如果我做'http://box.com/files/0/f/ [folder_id]/1/f_ [file_id]'它會在一個瀏覽器中打開它(這會破壞脫機的目的)。如果我嘗試使用'box:// files/0/f/[folder_id]/1/f_ [file_id]',它會打開盒子應用程序,但不會訪問該文件。如果我嘗試'box.com://files/0/f/ [folder_id]/1/f_ [file_id]',它不會在我的iPad上找到Box應用程序。我已安裝Box 2.8.1。 – wrightcode