我正在尝试从Google Drive API,v3为Dart返回文件资源的一组特定字段。作为specified,常规list()调用只返回4个参数,但如果我传入字段的查询参数(例如fields='starred,webContentLink'
),我可以返回有关文件的其他信息。同样,传入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');
我进入actual v3 code并手动将_queryParams["fields"]
更改为starred
,但这也无效(*
有效)。为了以防万一,我甚至尝试使用额外的引号'starred'
,但这导致了相同的错误(DetailedApiRequestError(status: 400, message: Invalid field selection 'starred')
)
有什么明显的东西我不见了吗?
答案 0 :(得分:2)
以下修改怎么样?
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="urn:my-scripts">
<msxsl:script language="C#" implements-prefix="user">
<![CDATA[
public string getguid(){
return Guid.NewGuid().ToString();
}
]]>
</msxsl:script>
<xsl:template match="data">
<Guid><xsl:value-of select="user:getguid()"/></Guid>
</xsl:template>
</xsl:stylesheet>
$fields: 'starred'
或
$fields: 'files/starred'
如果要检索带有星号和文件名的列表,可以使用$fields: 'files%2Fstarred'
或$fields: 'files(name,starred)'
。
如果这对你没用,我很抱歉。