Google Admin Directory SDK中的用户监视功能突然因参数投影错误而引发异常

问题描述

我在GCP上运行了18个月以上的云功能。一周前突然,它停止了工作。

代码

import googleapiclient.discovery
        
adminDirectoryService = googleapiclient.discovery.build('admin','directory_v1',credentials = gsuiteCredentials,cache_discovery=False)

result = adminDirectoryService.users().watch(body=watchBody,projection=projection,event=eventType,maxResults=1,customer=gSuiteCutomerId,viewType=viewType).execute()

    

例外

result = adminDirectoryService.users().watch(body=watchBody,viewType=viewType).execute()
File "/env/lib/python3.7/site-packages/google_api_python_client-1.7.8-py3.7.egg/googleapiclient/discovery.py",line 723,in method
    raise TypeError('Got an unexpected keyword argument "%s"' % name)
TypeError: Got an unexpected keyword argument "projection"

我不知道是什么原因引起的。我检查了documentation,并明确指出了projection参数存在。

还有其他人遇到此问题吗?有什么建议吗?

解决方法

以下内容解决了我的问题: 我从请求中删除了 projection maxResults viewType 参数,并且一切正常。

对问题发生原因的一些解释。 googleapiclient.discovery基于提供给它的JSON构建API。似乎Google更改了返回的JSON,却没有向任何人说出那些令人震惊的改变。

可以找到JSON here(对于 admin directory_v1

如果任何人使用其他版本或API。我通过查看发现代码here找到了来源。

我希望它能对其他人有所帮助。

编辑

该问题似乎已由Google解决。不再需要此答案中的解决方法