Я использую golang, чтобы добавить клиента в squareup.com, но он всегда говорит о проблеме авторизации Может кто-нибудь сказать мне, что проблема в моем коде: -
func Token(c *gin.Context) {
code := c.Query("code")
splitCode := strings.Split(code, "-")
scope := c.DefaultQuery("scope", "CUSTOMERS_WRITE")
customer := models.Customer{
GivenName: "Amelia",
FamilyName: "Earhart",
CompanyName: "fbgusbd",
Nickname: "kdfbkgjkdf",
EmailAddress: "Amelia.Earhart@example.com",
Address: models.Addresss{
AddressLine1: "500 Electric Ave",
AddressLine2: "Suite 600",
Locality: "New York",
AdministrativeDistrictLevel1: "NY",
PostalCode: "10003",
Country: "US",
},
PhoneNumber: "1-212-555-4240",
ReferenceId: "12",
Note: "a customer",
}
fmt.Println(customer)
bindData, err := json.Marshal(customer)
if err != nil {
panic(err)
}
var jsonStr = []byte(string(bindData))
url := config.APIBaseLive + "v2/customers?code=" + splitCode[1] + "&scope=" + scope
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
req.Header.Add("Authorization", "Bearer "+splitCode[1])
req.Header.Add("Accept", "application/json")
fmt.Println("Request", req)
client := &http.Client{}
resp, err := client.Do(req)
// fmt.Println(resp, err)
if err != nil {
panic(err)
}
defer resp.Body.Close()
resp.Header.Add("Authorization", "Bearer "+splitCode[1])
resp.Header.Add("Accept", "application/json")
fmt.Println("response Status:", resp.Status)
fmt.Println("response Headers:", resp.Header)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("response Body:", string(body))
}
type Customer struct {
GivenName string `json:"given_name" bson:"given_name"`
FamilyName string `json:"family_name" bson:"family_name"`
CompanyName string `json:"company_name" bson:"company_name"`
Nickname string `json:"nickname" bson:"nickname"`
EmailAddress string `json:"email_address" bson:"email_address"`
Address Addresss `json:"address" bson:"address"`
PhoneNumber string `json:"phone_number" bson:"phone_number"`
ReferenceId string `json:"reference_id" bson:"reference_id"`
Note string `json:"note" bson:"note"`
}
Ошибки: -
{
"errors": [
{
"category": "AUTHENTICATION_ERROR",
"code": "UNAUTHORIZED",
"detail": "This request could not be authorized."
}
]
}
При нажатии https://connect.squareup.com/oauth2/authorize?client_id=your_client_id
он перенаправит вас на URL перенаправления URL, который вы добавили с кодом строки запроса, имеющим ключ аутентификации ключа.Вы добавите URL-адрес перенаправления на приборной панели, а затем с помощью этого кода вы будете называться аутентифицированным пользователем.Может ли кто-нибудь помочь мне решить эту проблему?
Спасибо.