获取" keyInvalid"请求Google Custom Search API时

时间:2017-10-20 06:19:41

标签: python python-3.x google-custom-search google-search-api

我正在尝试自动执行搜索查询Programmatically searching google in Python using custom search并继续收到此错误以进行简单搜索:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "keyInvalid",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}

这是我的代码:

import os
import pprint
from googleapiclient.discovery import build

api_key = os.environ.get('API_KEY', None)
cse_id = os.environ.get('CSE_ID', None)


def google_search(search_term, api_key, cse_id, **kwargs):
    service = build("customsearch", "v1", developerKey=api_key)
    res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()
    return res['items']


results = google_search(
    'coding', api_key, cse_id, num=3)
for result in results:
    pprint.pprint(result)

我加倍检查API密钥并且绝对没有超出使用限制(仅运行程序几次)。我最初配置时确实将API密钥限制为我的IP地址(不确定这是否是潜在原因;我是API新手,只是想安全地测试这个)。

1 个答案:

答案 0 :(得分:0)

啊......想通了。我将API密钥存储为带有“”的环境变量,它以某种方式使其在值中包含引号,从而使其无效。立即行动!