我正在尝试通过端点访问我的驱动器中的所有文件
/me/drive/root/children
然而,即使发生以下观察,它也会返回0个孩子:
调用/me/drive/root
返回:
”, “文件夹”:{ “childCount”:3}, “根”:{}, “尺寸”:28413 “specialFolder”:{ “名称”: “文档”}}
更有趣的是,从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删除了所有应用权限,但仍然有相同的观察结果。看起来我在那里设置的权限没有效果。
答案 0 :(得分:0)
上面的代码遵循以下示例:
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
中声明正确的范围。因此,即使应用程序具有权限,但未在此处声明范围,您也无法访问工作表。