我在谷歌指南https://developers.google.com/drive/api/guides/manage-changes?hl=en中看到这行:
if 'newStartPageToken' in response:
# Last page, save this token for the next polling interval
saved_start_page_token = response.get('newStartPageToken')
page_token = response.get('nextPageToken')
但在我的例子中,'nextPageToken'在响应字典中总是不存在。它看起来像:
{
'kind': 'drive#changeList',
'newStartPageToken': '21',
'changes':
[{
'kind': 'drive#change',
'removed': False,
'file':
{
'kind': 'drive#file',
'mimeType': 'application/vnd.google-apps.spreadsheet',
'id': '1fArmA72nxcQVv_gr31MHv4RV2e_n8j79-xvr6FOWDDc',
'name': 'Canalservice'
},
'fileId': '1fArmA72nxcQVv_gr31MHv4RV2e_n8j79-xvr6FOWDDc',
'time': '2023-03-18T08:39:23.049Z',
'type': 'file',
'changeType': 'file'
}]
}
而且循环总是结束。有什么我没抓住的想法吗?
1条答案
按热度按时间aiqt4smr1#
我尝试了
Get changes
与此示例代码。目前为我工作,让我知道,如果你得到的东西不同。参考:
更新日期:
(我只是在
page_token = response.get('nextPageToken')
下面添加了一个print(response)
,或者您可以在每次迭代中添加print(page_token)
来获取页面令牌)我从我发布的代码中得到的响应字典是:
请记住,所有的文件和更改都嵌套在
response
中,nextPageToken
列在每个循环响应的第一层,而不是在这里的文档中提到的嵌套的changes
中。循环中的最后一次迭代将使用
newStartPageToken
而不是nextPageToken
,因为列表中不再有已更改的文件。