我在 AppEngine 中運行了一些相當簡單的 Go 代碼,它們應該使用 OAuth2 從用戶帳戶中獲取文件列表。似乎可以正常初始化服務,但是當它嘗試獲取文件列表時,出現此錯誤: OAuthError: RoundTrip: no Token providedpackage fooimport ( "appengine" "appengine/urlfetch" "code.google.com/p/goauth2/oauth" "code.google.com/p/google-api-go-client/drive/v2" "fmt" "net/http")var config = &oauth.Config{ ClientId: "(redacted).apps.googleusercontent.com", ClientSecret: "REDACTED", Scope: "https://www.googleapis.com/auth/drive", AuthURL: "https://accounts.google.com/o/oauth2/auth", TokenURL: "https://accounts.google.com/o/oauth2/token",}func init() { http.HandleFunc("/", home)}func home(w http.ResponseWriter, r *http.Request) { c := appengine.NewContext(r) transport := &oauth.Transport{ Config: config, Transport: &urlfetch.Transport{Context: c}} svc, err := drive.New(transport.Client()) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } q := svc.Files.List() _, err = q.Do() if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } fmt.Fprintf(w, "Success!")}我無法弄清楚我在這里做錯了什么。任何幫助將不勝感激。
2 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
令牌配置不夠;您首先必須通過以下步驟獲得有效的訪問令牌:
將用戶重定向到AuthCodeURL返回的頁面。用戶將看到您的應用程序名稱和請求的權限。
如果用戶授予權限,他們將被重定向到您在配置中提供的RedirectURL。該 URL 將包含一個名為 的查詢參數
code
。檢索
code
參數并將其傳遞給Exchange。如果一切順利,現在應該正確驗證請求。
- 2 回答
- 0 關注
- 252 瀏覽
添加回答
舉報
0/150
提交
取消