web-dev-qa-db-ja.com

未設定のアクセスを返すGoogle API

これは簡単だと思っていましたが、何らかの理由でこれに打ち込まれました。

PHP + CURLを使用してWebフォントのリストを取得しようとしています。コードは簡単です:

        $url = "https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity&key=MY_SERVER_APPS_KEY";

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $google_response = curl_exec($ch);
        curl_close($ch);            

コードはGoogleを攻撃していますが、$ google_responseは常に以下を返します。

"error": {
    "code": 403,
    "errors": [
        {
            "domain": "usageLimits",
            "reason": "accessNotConfigured",
            "message": "Access Not Configured"
        }
    ],
    "message": "Access Not Configured"
}

サーバーアクセスキーを設定し、その上にWebサーバーの両方のAPIキーを配置しました。 (私のIPを確認するために、curlmyip.comでWGETを実行しました)また、[サービス]タブから "Web Fonts Developer API"を有効にしました。

見落としがちなことはありますか?

17
Anthony

私は解決策を見つけました。どうやら、IPv4ではなくサーバーのIPv6アドレスを登録する必要があったようです。追加後、コードを変更せずに動作しました。

20
Anthony

私の場合必要なAPIが有効になっていませんでした

有効にする:

  1. https://console.developers.google.com に移動します
  2. 左上のメニューアイコンをクリックします
  3. メニューからAPI Managerをクリックします
  4. 検索バーでAPI(例:YouTube Data API v3)を検索してクリックします
  5. そのAPIのサブページに移動したら、 Enable 左上に
13
Nelu

すべての「許可されたIP」を削除してから、許可された任意のIP

4
Baryon Lee

上記の解決策を順に試しましたが、結果を得ることができませんでした。これが発生したとき、YouTube、Dialogflow、Google + APIの統合は、数か月間非アクティブでした。

最終的には、唯一の解決策は次のとおりでした。

  • 新しいプロジェクトを作成する
  • 新しいキーを作成する
  • アプリケーションの制限の下にあるIPv4およびIPv6アドレスをコピーします
  • アプリケーションのニーズに基づいてAPI制限を更新します
0
Eric Kigathi