47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package worker
|
|
|
|
import (
|
|
"StuAcaWorksAI/proto"
|
|
"encoding/json"
|
|
)
|
|
|
|
func GetGiteeAccessTokenByCode(code string, redirectURI string, clientID string, clientSecret string) (proto.GiteeOAuthTokenResponse, error) {
|
|
req := proto.OAuthGetTokenRequest{
|
|
ClientID: clientID,
|
|
ClientSecret: clientSecret,
|
|
Code: code,
|
|
RedirectURI: redirectURI,
|
|
}
|
|
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
|
|
|
|
}
|