无法从 Microsoft Graph 获取用户关注的网站

Failed to get the sites followed by user from Microsoft Graph

我正在尝试从 Microsoft Graph Explorer 中检索用户关注的站点。

我找到了这个文档来做到这一点:https://docs.microsoft.com/en-us/graph/api/sites-list-followed?view=graph-rest-1.0&tabs=http

在该文档中,他们提到授权需要 Bearer 令牌。但是我在哪里可以得到那个令牌?

如果我尝试在没有令牌的情况下进行查询,则会收到“身份验证失败,未找到有效令牌”401 错误。如何解决该错误?

感谢任何帮助。提前致谢

如果您使用 Graph Explorer,这是一个 Microsoft-created 用户界面来访问 Graph API,您不需要在 header 中指定令牌。当您使用您的用户帐户登录 Graph Explorer 时,您将自动获得一个令牌,它会自动在您的请求中提供。

您实际上也可以通过单击 访问令牌 按钮从 Graph Explorer 检索 signed-in 用户的令牌。

如果您从任何其他界面(例如代码)访问 图表 API,则需要手动形成请求 header s 并包含您获得的令牌。

如何获取服务申请的token需要进一步的了解,您可以从官方了解更多documentation

这里是一个使用Python和MSAL的简单示例,以及构造的请求header。

app = msal.ConfidentialClientApplication(
    client_id         = client_id,
    client_credential = client_secret,
    authority         = f"https://login.microsoftonline.com/{tenant_id}")

scopes = ["https://graph.microsoft.com/.default"]

token = None
token = app.acquire_token_for_client(scopes = scopes)

req_headers = {
    "Authorization": "Bearer " + token['access_token']
    }