亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Go 中的 App Engine 上使用 OAuth2 的客戶端 ID?

如何在 Go 中的 App Engine 上使用 OAuth2 的客戶端 ID?

Go
函數式編程 2021-06-04 18:17:53
我在 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個贊

令牌配置不夠;您首先必須通過以下步驟獲得有效的訪問令牌:

  1. 將用戶重定向到AuthCodeURL返回的頁面。用戶將看到您的應用程序名稱和請求的權限。

  2. 如果用戶授予權限,他們將被重定向到您在配置中提供的RedirectURL。該 URL 將包含一個名為 的查詢參數code。

  3. 檢索code參數并將其傳遞給Exchange。如果一切順利,現在應該正確驗證請求。


查看完整回答
反對 回復 2021-06-07
  • 2 回答
  • 0 關注
  • 252 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號