把最近用Go写的 Dropbox SDK 发布到了 gihub上,有兴趣的可以参与、反馈。
地址: https://github.com/wen866595/godropbox
大多数接口都已实现,除了获取delta数据的,因为这个接口返回的JSON结构数据没法映射到Go的数据结构上。
一些示例:
oauth2 := &oauth2.OAuth2{AccessToken: "you ouath2 access_token"} dropboxApi := &dropbox.DropboxApi{Signer: oauth2, Root: "dropbox", Locale: "CN"} accountInfo, err := dropboxApi.GetAccountInfo() if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("account info: %v\n", accountInfo) } metadata, err := dropboxApi.GetFileMetadata("/") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("metadata: %v\n", metadata) } put, err := dropboxApi.PutFileByName("main.go", "dropbox", "/main.go") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("put: %v\n", put) } copyRef, err := dropboxApi.CopyRef("/main.go") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("copyRef : %v\n", copyRef) } revisions, err := dropboxApi.Revisions("/main.go") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("revisions : %v\n", revisions) } shares, err := dropboxApi.Shares("/main.go") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("shares : %v\n", shares) } media, err := dropboxApi.Media("/main.go") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("media : %v\n", media) } thumbnails, err := dropboxApi.Thumbnails("/IMG_20130613_121901.jpg") if err != nil { fmt.Printf("get thumbnails error msg: %s\n", err) } else { ioerr := ioutil.WriteFile("IMG_20130613_121901.jpg", thumbnails.DataByte, 666) if ioerr == nil { fmt.Printf("write image ok .\n") } else { fmt.Printf("write image error : %v\n", ioerr) } } copym, err := dropboxApi.Copy("/testcopy.txt", "/abctest/testcopy.txt") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("copym : %v\n", copym) } copym, err := dropboxApi.Copy("/testcopy.txt", "/abctest/testcopy.txt") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("copym : %v\n", copym) } move, err := dropboxApi.Move("/abctest/testcopy.txt", "/testcopy-moved.txt") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("move : %v\n", move) } createFolder, err := dropboxApi.CreateFolder("createFolder") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("createFolder: %v\n", createFolder) } deleted, err := dropboxApi.Delete("createFolder") if err != nil { fmt.Printf("error msg: %s\n", err) } else { fmt.Printf("deleted: %v\n", deleted) }
欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。