2

我正在尝试弄清楚如何使用 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 返回下一组?

谢谢!

4

1 回答 1

3

首先,我被建议使用不同的 URL: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 !

于 2013-05-20T13:07:12.967 回答