Google Music API:如何申请接下来的1000首歌曲?

时间:2013-05-19 19:01:24

标签: api curl google-music

我正在尝试弄清楚如何使用Google Music API。我设法获得了http://dpogue.ca/gmusic.html

中描述的身份验证令牌
$ curl -d accountType=GOOGLE
       -d Email=jondoe@gmail.com    
       -d Passwd=<<PASSWORD>>
       -d service=sj
       https://www.google.com/accounts/ClientLogin

SID=DQB...
LSID=DQC...
Auth=DQA...

现在我可以请求我的库中的曲目列表:

$ curl --header "Authorization: GoogleLogin auth=DQA..."     
       https://www.googleapis.com/sj/v1beta1/tracks > list

但是,它只返回1000个曲目的列表。

$ grep -c albumArtist list
1000

如何申请接下来的1000首曲目?我试图将nextPageToken附加到URL:

$ grep nextPage list
"nextPageToken": "KmM...AI="
$ curl --header "Authorization: GoogleLogin auth=DQA..."     
       https://www.googleapis.com/sj/v1beta1/tracks?pageToken=KmM...AI= > list2

但我得到的是前1000首曲目。

如何告诉googleapis.com返回下一批?

谢谢!

1 个答案:

答案 0 :(得分:3)

首先,建议我使用其他网址:https://www.googleapis.com/sj/v1beta1/trackfeed

将nextPageToken提供给第二个请求的正确方法是按POST将其作为JSON发送:

$ curl
  --header "Authorization: GoogleLogin auth=DQA..."     
  --header 'Content-Type: application/json'
  --data "{'start-token': 'KmM...'}
  "https://www.googleapis.com/sj/v1beta1/trackfeed
  > list2

对我而言,通过提供

,可以更容易地立即请求所有曲目
  --data "{'max-results': '20000'}

感谢来自http://dpogue.ca/的Darryl Pogue!