現在、さまざまな 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 コンソールでこれらのエラーをさらに詳しく調べる方法を知っている人はいますか?
###ありがとう!
###解決:###
PostalAddress サブ領域を null に設定します。
###詳細:###同僚の協力を得て、何が起こっているのかを解明しました。古い非推奨の API バージョンを呼び出すようにコードを変更しました。これにより、米国が住所にサブゾーンを使用していないことを示す、より役立つエラー メッセージが返されます。これを PostalAddress オブジェクトに設定したので、常に null になるように変更し、リクエストは古い API と新しい API の両方で機能しました。
イライラすることはたくさんあります。
間違った情報です。
「新しく改良された」API からの応答では、古いバージョンと同じか、それ以上の情報が得られるはずです。######書類。- この特定のリクエストの米国サブリージョンに関する説明はどこにも見つかりません。
助けを提供してください。 - この記事を書いている時点では、このトピックに関するものを Google で検索しても、基本的には何も返されません。
サブエリア。 - 私のシステムの設定方法は、実際に Google の位置検索を使用して有効な PostalAddress を取得し、送信するデータが有効であることを確認することです。この場合、Google から返されたアドレスをサブゾーンとともに使用しています。準地域には郡名があり、これは米国で使用されているものです。したがって、それが問題であると考える理由はさらに少なくなります。エラー メッセージの正確さには同意しませんが、問題を理解するためには必要です。
これは今のところウェブ上では大きな問題ではないようですが、いつかこれが他の人が時間を無駄にしないようにするのに役立つことを願っています。 -
~乾杯~