2014-04-05 59 views
2

獲取或派生Dropbox公共鏈接URL相當容易,但會暴露您的靜態用戶ID。有沒有辦法以編程方式獲取共享鏈接URL?如何通過AppleScript或其他腳本語言獲取Dropbox共享鏈接URL?

我見過一個名爲getShareURL()的Android函數引用,但我正在尋找一個Mac OS X AppleScript或其他桌面腳本解決方案。

+0

另請參閱Dropbox API論壇上的https://forums.dropbox.com/topic.php?id=114264。 – smarx

回答

2

我剛剛有一個需要從bash腳本做到這一點。這也將在Mac OS X中的工作,因爲它支持bash和捲曲工具:

  1. 轉到Dropbox的開發者控制檯(https://www.dropbox.com/developers/apps),登錄到你的Dropbox帳戶,並單擊「創建應用程序」按鈕。在您的應用設置中,滾動至OAuth2部分,然後點擊「生成的訪問令牌」下的「生成」按鈕。您需要使用此令牌才能訪問Dropbox API。

  2. 在你的bash腳本,插入以下內容:

 
    DROPBOX_TOKEN="<your dropbox token generated in step 1>" 
    FILENAME="<file you want to share>" 
    JSON=`curl -s --header "Authorization: Bearer $DROPBOX_TOKEN" \ 
        --header "Content-Type: application/json" \ 
        --data "{\"path\": \"/$FILENAME\",\"settings\": {\"requested_visibility\": \"public\"}}" \ 
        https://api.dropbox.com/2/sharing/create_shared_link_with_settings` 

這會給你回包含有關鏈接的信息JSON響應。您需要解析出JSON響應以獲取url,您可以使用簡單的sed或awk腳本執行此操作。

注意:您從此獲得的鏈接可以公開共享,但請注意您從開發者控制檯獲取的訪問令牌不能共享。如果您的腳本將被除您以外的其他人(Dropbox帳戶的所有者)訪問,那麼您需要採取額外的步驟來使用OAuth對用戶進行身份驗證,而不是使用生成的令牌。就我而言,腳本在我的機器上運行,並通過自動化過程將生成的鏈接發送出去,因此腳本對除我以外的任何人都不可見。具有該訪問令牌的任何人都將通過API完全控制您的Dropbox帳戶,因此請像對待密碼一樣對待它。

相關問題