![](/img/trans.png)
[英]Dart googleapis 0.35.0 - Google Drive API v3 - fields request parameter
[英]How to set the `fields` parameter in the Google Drive GoogleAPIs v3 in Dart?
我試圖從Dart的Google Drive API v3返回文件資源的一組特定字段。 如指定的那樣 ,常規list()調用僅返回4個參數,但是如果我傳入字段的查詢參數(例如, fields='starred,webContentLink'
),則可以返回有關File的其他信息。 同樣,傳遞fields='*'
將返回整個文件資源。 在文檔的“嘗試使用此API”部分中,這可以正常工作。
現在,使用Dart程序包,設置$fields: '*'
可行的,但是設置$fields: 'starred'
導致以下錯誤: DetailedApiRequestError(status: 400, message: Invalid field selection starred)
。
// Assume I have successfully created an API client
g_drive.DriveApi api = new g_drive.DriveApi(client);
// This works
g_drive.FileList fileList = await api.files.list($fields: '*');
// This returns the 400 error
g_drive.FileList fileList = await api.files.list($fields: 'starred');
我進入了實際的v3代碼,並手動將_queryParams["fields"]
更改為已加starred
,但是這也不起作用( *
起作用)。 我什至嘗試用多余的引號對'starred'
進行加引號,以防萬一,但這導致了相同的錯誤( DetailedApiRequestError(status: 400, message: Invalid field selection 'starred')
)
有什么明顯的我想念的東西嗎?
接下來的修改如何?
$fields: 'starred'
$fields: 'files/starred'
要么
$fields: 'files%2Fstarred'
如果要檢索帶有星號和文件名的列表,則可以使用$fields: 'files(name,starred)'
$fields: 'files(name%2Cstarred)'
或$fields: 'files(name%2Cstarred)'
。
如果這對您沒有用,對不起。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.