Genius API 搜索结果成功但没有命中

Genius API Search result successful but no hits

当调用 Genius API(音乐歌词服务)搜索功能按标题搜索特定歌曲时,我的 GET 请求已成功处理并且 returns HTTP 状态代码的 200,但 JSON 响应 returns 没有找到我搜索的歌曲。

{u'meta': {u'status': 200}, u'response': {u'hits': []}}

注意 hits 键的值是一个空数组。这很奇怪,因为当 "testing" 在 Genius API 文档站点 https://docs.genius.com/#web_pages-h2 上使用相同的 OAuth2 访问令牌进行相同的调用时,我能够为相同的搜索获得 10 次匹配。我尝试搜索多首歌曲,结果相同。

我正在使用 Python 2.7.12,我用下面的 AccessTOKEN 替换了我的 API 调用访问令牌,所以我没有公开分享它(尽管我正在测试正确的访问权限令牌)

#!/usr/bin/env python
# -*- coding=utf-8 -*-
import requests

baseUrl = "http://api.genius.com"

headers = {'Authorization': 'Bearer AccessTOKEN'}
searchUrl = baseUrl + "/search"
songTitle = "Shelter"
data = {'q': songTitle}
response = requests.get(searchUrl, data=data, headers=headers)
json = response.json()
print json

有什么想法吗?

data 参数用于 POST 请求。由于这是一个 GET 请求,您应该将 data 传递给 params 参数。

response = requests.get(searchUrl, params=data, headers=headers)