現在、さまざまな Google API を使用しています。 Google Business API へのアクセスを承認し、PHP SDK を使用してエンドポイントへの複数の呼び出しに成功し、Business Authentication API の一部のエンドポイントも呼び出すことができました。ただし、場所を定義して fetchVerificationOptions をリクエストすると、400 エラーが発生します。
リーリー渡された場所が「locations/<LOCATION_ID>」の形式で正しいことを確認しました。私は他の多くの成功した呼び出しで同じキーを使用しました。
私はこのトピックに関して見つけたすべてのドキュメントを何度も読みました。このエラーを見ると、送信しているデータが間違っているのではないかと思われますが、ドキュメントには、言語コードとオプションのコンテキストなど、期待される内容が非常に明確に記載されています。私の現在のケースでは、場所は CUSTOMER_LOCATION_ONLY ビジネス タイプであり、PostalAddress オブジェクトはコンテキストを介してこのリクエストで提供される必要があります。 SDK は、パズルの各ピースにオブジェクトを提供することで、これを簡単に実現します。
これが私の関連する PHP コードです:
リーリー上記のコードの $postalAddress
が、有効な住所詳細を含む Google\Service\MyBusinessVerifications\PostalAddress
のインスタンスであることを確認しました。
上記のコードの $locationName
が正しい値、つまり「locations/<LOCATION_ID>」形式のロケーション ID であることを確認しました。
GoogleBusinessProfileApi::getVerificationService()
は、Google クライアントとすべての認証要素を含む Google\Service\MyBusinessVerifications
インスタンスを返します。私はすべてのやり取りにこの方法を使用していますが、それらは完全にうまく機能します。また、このエラーは部品の問題を示すものではありません。
Google API 開発コンソールでは、これらのリクエストが受信され、400 レスポンスで終わることが確認できることにも注目してください。ただし、これはインジケーターがどのように見えるかだけです。リクエストに関するより詳細な情報が見つかりません。
私は何でも探しています - 方向性、アイデア、考え。これまでに他の人がこれに対処したことがありますか?明らかな何かを見逃しているでしょうか?これはコードまたは API 自体に問題があるのでしょうか? Google コンソールでこれらのエラーをさらに詳しく調べる方法を知っている人はいますか?
###ありがとう!P粉5641921312024-03-30 11:11:43
###解決:###
同僚の協力を得て、何が起こっているのかを解明しました。古い非推奨の API バージョンを呼び出すようにコードを変更しました。これにより、米国が住所にサブゾーンを使用していないことを示す、より役立つエラー メッセージが返されます。これを PostalAddress オブジェクトに設定したので、常に null になるように変更し、リクエストは古い API と新しい API の両方で機能しました。
間違った情報です。
「新しく改良された」API からの応答では、古いバージョンと同じか、それ以上の情報が得られるはずです。