【发布时间】:2017-12-28 20:36:24
【问题描述】:
我正在访问 Echo Nest API,这需要我重复相同的 uri 参数名称 bucket。但是我无法在 Guzzle 6 中完成这项工作。I read a similar issue from 2012,但是这种方法不起作用。
我已尝试将其手动添加到查询字符串中,但没有成功。
一个示例 API 调用可能是:
http://developer.echonest.com/api/v4/song/search?format=json&results=10&api_key=someKey&artist=Silbermond&title=Ja&bucket=id:spotify&bucket=tracks&bucket=audio_summary
这是我的示例客户端:
/**
* @param array $urlParameters
* @return Client
*/
protected function getClient()
{
return new Client([
'base_uri' => 'http://developer.echonest.com/api/v4/',
'timeout' => 5.0,
'headers' => [
'Accept' => 'application/json',
],
'query' => [
'api_key' => 'someKey',
'format' => 'json',
'results' => '10',
'bucket' => 'id:spotify' // I need multiple bucket parameter values with the 'bucket'-name
]);
}
/**
* @param $artist
* @param $title
* @return stdClass|null
*/
public function searchForArtistAndTitle($artist, $title)
{
$response = $this->getClient()->get(
'song/search?' . $this->generateBucketUriString(),
[
'query' => array_merge($client->getConfig('query'), [
'artist' => $artist,
'title' => $title
])
]
);
// ...
}
你能帮帮我吗?
【问题讨论】:
标签: guzzle