フィッシング詐欺の可能性を検証するために小さな機能を実装しようとしていて、GoogleセーフブラウジングAPIを使用するとよいスタートだと思っていました。GoogleセーフブラウジングAPI v4とPythonリクエストで予期しない応答が発生しました
APIドキュメントを読んだ後、私は物事のハンドルを持っていたと思ったし、一緒に次のコード石畳:私は
プリント(json.dumps(ペイロード、インデントを行う場合
import requests import json url = "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=<REDACTED>" headers = {'content-type': 'application/json'} payload = {'client': {'clientId': "mycompany", 'clientVersion': "0.1"}, 'threatInfo': {'threatTypes': ["SOCIAL_ENGINEERING", "MALWARE"], 'platformTypes': ["ANY_PLATFORM"], 'threatEntryTypes': ["URL"], 'threatEntries:': [{'url': "http://www.urltocheck1.org"}]}} print (json.dumps(payload, indent=4)) r = requests.post(url, headers=headers, json=payload)
を= 4)
それはすべては OKに見えます。しかし、私は戻ってGoogleからの取得応答が一致していない。
{'エラー':{'メッセージ': '無効なJSONペイロードが受信されました。不明な名前 「threat_entries:」が\ 'threat_info \':フィールドが見つかりません '、' status ': ' INVALID_ARGUMENT '、' code ':400、' details ':[{' @type ': ' googleapis.com/google.rpc.BadRequest '、' fieldViolations ': [{' field ':' threat_info '、' description ':'無効なJSONペイロード が届きました。 「X-Frame-Options」:「SAMEORIGIN」、 「転送エンコード」:「チャンク」、「チャンク」、「チャプター」、キャッシュコントロール ':' private '、' Date ': ' Tue、2010年10月25日07:55:30 GMT '、' Content-Type ':' application/json; charset = UTF-8 '、' Alt-Svc ':' quic = ":443"; ma = 2592000; v = "36,35,34,33,32"、 'X-Content-Type-Options': 'nosniff'、 'コンテンツエンコーディング': 'gzip'、 'X-XSS-Protection': ' 1; mode = block '、 'サーバー ':' ESF '}アプリケーション/ json;文字セット= UTF-8
私はいつものように私の間違いを見つけられません。他の誰かがそれを見つけて、私を正しい軌道に乗せることができますか?