saw-go/worker/gitee.go

56 lines
1.1 KiB
Go

package worker
import (
"StuAcaWorksAI/proto"
"encoding/json"
)
func GetGiteeAccessTokenByCode(code string, redirectURI string, clientID string, clientSecret string) (proto.GiteeOAuthTokenResponse, error) {
req := proto.GiteeOAuthRequest{
ClientID: clientID,
ClientSecret: clientSecret,
Code: code,
RedirectURI: redirectURI,
GrantType: "authorization_code",
}
var resp proto.GiteeOAuthTokenResponse
reqBytes, err := json.Marshal(req)
if err != nil {
return resp, err
}
url := "https://gitee.com/oauth/token"
err2, respBytes := DoPostRequestJSON(url, reqBytes, nil)
if err2 != nil {
return resp, err2
}
err = json.Unmarshal(respBytes, &resp)
if err != nil {
return resp, err
}
return resp, nil
}
func GetGiteeUserInfo(accessToken string) (proto.GitHubUserInfo, error) {
url := "https://gitee.com/api/v5/user?access_token=" + accessToken
var resp proto.GitHubUserInfo
err2, respBytes := DoGetRequest(url, nil)
if err2 != nil {
return resp, err2
}
err := json.Unmarshal(respBytes, &resp)
if err != nil {
return resp, err
}
return resp, nil
}
func GetGogsAccessTokenByCode() {
}
func GetGogsUserInfo() {
}