#Cloud IAPについて質問です。
GAE/Go(1.9) standard Environmentで作成したRESTAPIアプリをGoogle Cloud IAPを使用して、制御したいと考えております。
そこで、別のGAE/Go(1.9) standard Environmentで作成したアプリからリクエストを送り取得したいのですが、やりかたがいまいちわかりません。
①制御したいアプリのCloud IAPのページで、リクエストを送るアプリ側のAppengineデフォルトサービスアカウントを登録(権限はIAP-Secured Web App User)
②リクエストを送る側のアプリで下記のコードを実行
go
1func getData(w http.ResponseWriter, r *http.Request) { 2 ctx := appengine.NewContext(r) 3 url := "https://○○○○.appspot.com/api/v1/" 4 client := urlfetch.Client(ctx) 5 scope := "https://www.googleapis.com/auth/iam" 6 token, _, err := appengine.AccessToken(ctx, scope) 7 if err != nil { 8 log.Errorf(ctx, "token error: %v", err) 9 } 10 11 req, err := http.NewRequest("GET", url, nil) 12 if err != nil { 13 log.Errorf(ctx, "req error: %v", err) 14 } 15 16 req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token)) 17 req.Header.Set("Content-Type", "application/json") 18 19 resp, err := client.Do(req) 20 if err != nil { 21 log.Errorf(ctx, "resp error: %v", err) 22 } 23 24 body, err := ioutil.ReadAll(resp.Body) 25 if err != nil { 26 log.Errorf(ctx, "body error: %v", err) 27 } 28 log.Infof(ctx, "body : %v", string(body)) 29}
logは「INFO: body : There was a problem with your request. Error code 13」
となり結果を取得することができません。
Golangで実装できる参考になる記事等知っている方いらっしゃましたら、教えてください。
あなたの回答
tips
プレビュー