현재 다양한 Google API를 사용하고 있습니다. Google Business API에 대한 액세스를 승인했으며 Business Authentication API에서 일부 엔드포인트를 호출하는 경우에도 PHP SDK를 사용하여 해당 엔드포인트에 대한 여러 호출을 성공적으로 수행했습니다. 그러나 위치가 정의된 fetchVerificationOptions를 요청하면 400 오류가 발생합니다.
으아아아전달된 위치가 'locations/<LOCATION_ID>' 형식으로 올바른지 확인했습니다. 나는 다른 많은 성공적인 호출에서 동일한 키를 사용했습니다.
이 주제에 관해 찾을 수 있는 모든 문서를 여러 번 읽었습니다. 오류로 인해 내가 보내는 데이터가 잘못되었다고 생각하게 되지만 문서에는 예상되는 내용, 즉 언어 코드와 선택적 컨텍스트가 매우 명확하게 나와 있습니다. 현재 사례에서 위치는 CUSTOMER_LOCATION_ONLY 비즈니스 유형이고 PostalAddress 개체는 컨텍스트를 통해 이 요청에 제공되어야 합니다. SDK는 퍼즐의 모든 조각에 개체를 제공하여 이를 더 쉽게 만듭니다.
이것은 내 관련 PHP 코드입니다:
으아아아위 코드의 $postalAddress
是 GoogleServiceMyBusinessVerificationsPostalAddress
인스턴스에 유효한 주소 정보가 포함되어 있음을 확인했습니다.
위 코드의 $locationName
에 "locations/<LOCATION_ID>" 형식의 내 위치 ID 값이 올바른지 확인했습니다.
위 코드의 GoogleBusinessProfileApi::getVerificationService()
返回一个 GoogleServiceMyBusinessVerifications
인스턴스에는 내 Google 클라이언트와 모든 인증 관련 내용이 포함되어 있습니다. 나는 모든 상호 작용에 이 방법을 사용하며 완벽하게 작동합니다. 또한 이 오류는 부품에 문제가 있음을 나타내지 않습니다.
또한 주목할 만한 점은 Google API 개발 콘솔에서 이러한 요청이 들어오고 400 응답으로 끝나는 것을 볼 수 있다는 것입니다. 그러나 이는 표시기의 모습일 뿐입니다. 요청에 대해 더 깊고 자세한 정보를 찾을 수 없습니다.
나는 방향, 아이디어, 아이디어 등 무엇이든 찾고 있습니다. 이전에 다른 사람이 이 문제를 처리한 적이 있나요? 나는 분명한 것을 놓치고 있습니까? 내 코드 또는 API 자체에 문제가 있습니까? Google 콘솔에서 이러한 오류를 더 자세히 조사하는 방법을 아는 사람이 있나요?
감사합니다!
P粉5641921312024-03-30 11:11:43
PostalAddress 소지역을 null로 설정합니다.
동료들의 도움으로 우리는 무슨 일이 일어나고 있는지 알아냈습니다. 더 이상 사용되지 않는 이전 API 버전을 호출하도록 코드를 변경했습니다. 그러면 미국이 해당 주소에 하위 구역을 사용하지 않는다는 내용의 보다 유용한 오류 메시지가 반환됩니다. PostalAddress 객체에 이를 설정하여 항상 null이 되도록 변경했고 요청은 이전 API와 새 API 모두에서 작동했습니다.
이 문제에 대해 답답한 점이 많습니다.
지금은 이것이 웹에서 큰 문제가 아닌 것 같지만, 언젠가 이것이 다른 사람들이 시간 낭비를 피하는 데 도움이 되기를 바랍니다.
~건배~