2017-10-20 167 views
0

當我試圖自動搜索查詢重新Programmatically searching google in Python using custom search和和不斷收到此錯誤的一個簡單的搜索:獲取「keyInvalid」,要求谷歌自定義搜索API

{ 
"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時,我確實將API密鑰限制在我的IP地址上(不確定這是否是一個潛在的原因;對於API是新手,只是想安全地測試這個API)。

回答

0

啊..想通了。我將API密鑰存儲爲帶有「」的環境變量,它以某種方式導致它在值中包含引號,從而使其無效。現在工作!