我正在尝试使用Microsoft Graph API的Beta端点import wx
from pynput import keyboard
class Test(wx.Frame):
def __init__(self, parent):
super().__init__(parent, title="title")
def show_panel(self):
if self.Show() == True:
self.Show()
else:
self.Hide()
def h_show(self):
print('<ctrl>+s pressed')
self.show_panel
with keyboard.GlobalHotKeys({'<ctrl>+s': h_show}) as x:
x.join()
def main():
app = wx.App()
ex = Test(None)
app.MainLoop()
if __name__ == '__main__':
main()
获取用户的个人资料照片
但出现404 MailboxNotEnabledForRESTAPI错误
beta/users/{id}/photo
该错误没有意义,因为我正在尝试访问与邮箱无关的Azure广告配置文件图片。
有人会知道我是否想念什么吗?
答案 0 :(得分:2)
您正在使用的endpoint对获取用户图片的说明如下:
注意:在尝试获取用户照片时,此操作首先尝试从Microsoft 365检索指定的照片。如果照片在Microsoft 365中不可用,则API会尝试检索照片从Azure Active Directory。
从历史上看,用户个人资料图片存储在Exchange服务器中,显然他们现在也将图片保存在其他位置。
为检查您的问题,我为没有许可证的用户添加了图片。并开始尝试在Graph Explorer
中进行请求v1.0/users/upn_here/photo
❌的请求因ResourceNotFound
-> Resource could not be discovered.
beta/users/upn_here/photo
✔给我有关图像的信息(例如大小)v1.0/users/upn_here/photo/$value
❌的请求因ResourceNotFound
-> Resource could not be discovered.
beta/users/upn_here/photo/$value
✔给了我图像。 (我看到了我之前上传的图片)。您应该检查使用的访问令牌,将其复制并粘贴到此处https://jwt.ms(Microsoft拥有的页面为您显示令牌中的数据)。
根据docs,您至少需要委托的User.Read
范围或应用程序范围User.Read.All
。