通过 REST API 获取驱动器中的所有文件
get all files in drive via REST API
我正在尝试通过端点访问我驱动器中的所有文件
/me/drive/root/children
然而它 returns 0 children 即使发生以下观察结果:
正在调用 /me/drive/root
returns:
","folder":{"childCount":3},"root":{},"size":28413,"specialFolder":{"name":"documents"}}
更有趣的是,从 Graph Explorer 执行 API 调用:
https://graph.microsoft.io/en-us/graph-explorer 显示我在使用 me/drive/root/children
时拥有的 3 个文件。
图形浏览器在使用 /me/drive/root
时完全匹配 API 调用,但不匹配 /me/drive/root/children
.
发生了什么事?
编辑:
根据 Brad 的建议,我用 https://jwt.io/ 解码了令牌,参数 scp 读取:
scp": "Mail.Send User.Read",
第二次编辑:
我从 apps.dev.microsoft.com 中删除了所有应用程序权限,但我仍然有相同的观察结果。貌似我设置的权限没有生效
上面的代码遵循在以下位置找到的示例:
https://dev.office.com/code-samples-detail/5989
事实证明,整个混乱都来自这里:
microsoft = oauth.remote_app(
'microsoft',
consumer_key=client_id,
consumer_secret=client_secret,
request_token_params={'scope': 'User.Read Mail.Send Files.Read Files.ReadWrite'},
base_url='https://graph.microsoft.com/v1.0/',
request_token_url=None,
access_token_method='POST',
access_token_url='https://login.microsoftonline.com/common/oauth2/v2.0/token',
authorize_url='https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
)
我没有在 request_token_params
中声明正确的范围。因此,即使应用程序具有权限,如果没有在那里声明的范围,您也无法访问工作表。
我正在尝试通过端点访问我驱动器中的所有文件
/me/drive/root/children
然而它 returns 0 children 即使发生以下观察结果:
正在调用
/me/drive/root
returns:","folder":{"childCount":3},"root":{},"size":28413,"specialFolder":{"name":"documents"}}
更有趣的是,从 Graph Explorer 执行 API 调用: https://graph.microsoft.io/en-us/graph-explorer 显示我在使用
me/drive/root/children
时拥有的 3 个文件。图形浏览器在使用
/me/drive/root
时完全匹配 API 调用,但不匹配/me/drive/root/children
.
发生了什么事?
编辑:
根据 Brad 的建议,我用 https://jwt.io/ 解码了令牌,参数 scp 读取:
scp": "Mail.Send User.Read",
第二次编辑:
我从 apps.dev.microsoft.com 中删除了所有应用程序权限,但我仍然有相同的观察结果。貌似我设置的权限没有生效
上面的代码遵循在以下位置找到的示例:
https://dev.office.com/code-samples-detail/5989
事实证明,整个混乱都来自这里:
microsoft = oauth.remote_app(
'microsoft',
consumer_key=client_id,
consumer_secret=client_secret,
request_token_params={'scope': 'User.Read Mail.Send Files.Read Files.ReadWrite'},
base_url='https://graph.microsoft.com/v1.0/',
request_token_url=None,
access_token_method='POST',
access_token_url='https://login.microsoftonline.com/common/oauth2/v2.0/token',
authorize_url='https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
)
我没有在 request_token_params
中声明正确的范围。因此,即使应用程序具有权限,如果没有在那里声明的范围,您也无法访问工作表。