2016-02-14 26 views
1

我正在使用dropbox API編寫一個小程序來學習go。我在這裏使用客戶端庫:https://github.com/stacktic/dropboxJSON問題在golang dropbox庫中獲取日期

我能夠上傳和下載一個文件,所以我知道我的api密鑰和哪些工作不正常。使用元數據方法,我可以獲取文件的元數據。但是,當我嘗試使用UnmarshalJSON方法從條目結構中的ClientMtime項獲取人類可讀日期時,我得到「JSON輸入的意外結束」。任何想法是什麼問題?

我正在使用的代碼如下:

func main() { 

    db := dropbox.NewDropbox() 
    db.SetAppInfo("Blah", "blah") 
    db.SetAccessToken("Token") 
    list,err := db.Metadata("/app_folder/test.jpg", true, false, "", "", 1) 

    if err != nil { 
    log.Fatal(err) 
    } 

    var date []byte 
    err = list.ClientMtime.UnmarshalJSON(date) 

    if err != nil { 
    log.Fatal(err) 
    } 

    fmt.Printf("%v", date) 
} 

謝謝!

+0

圍棋通常是在它真正有用的錯誤信息,所以我會去猜測你有畸形的JSON。列表有效json的輸出是什麼? –

回答

1

你想:

date, err := list.ClientMtime.MarshalJSON() 

UnmarshalJson走另一條路; []byte -> DBTime 這就是爲什麼它是輸入錯誤的結尾,[]byte是空的。

可選地,ClientMTime是一個時間。時間有String()Format()方法。

您可以通過轉換來訪問所有時間格式化功能。

參見:https://github.com/stacktic/dropbox/blob/master/dropbox.go#L158

+0

就是這樣。謝謝! – DTaylor