当前位置: 首页 > 知识库问答 >
问题:

使用Graph API从Outlook.com获取联系人

尚阳炎
2023-03-14

我用下面的代码连接到Graph API

$Body = @{
    'tenant' = $TenantId
    'client_id' = $ClientId
    'scope' = 'https://graph.microsoft.com/.default'
    'client_secret' = $ClientSecret
    'grant_type' = 'client_credentials'
}


$Params = @{
    'Uri' = "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token"
    'Method' = 'Post'
    'Body' = $Body
    'ContentType' = 'application/x-www-form-urlencoded'
}

$AuthResponse = Invoke-RestMethod @Params

$Headers = @{
    'Authorization' = "Bearer $($AuthResponse.html" target="_blank">access_token)"
}

$Result = Invoke-RestMethod -Uri 'https://graph.microsoft.com/v1.0/users' -Headers $Headers

但是我得到错误消息

*invoke-restmethod:{“error”:{“code”:“authorization_requestdenied”,“message”:“权限不足,无法完成操作。”,“innererror”:{“date”:“2020-09-04t17:54:13”,“request-id”:“2113f712-f022-4ebc-8263-d26c469840d0”}}}行:31字符:11

  • $Result = Invoke-RestMethod -Uri 'https://graph.microsoft.com/v1.0/us ...
  •       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
      null

    我假设当我获得用户ID时,我应该能够调用https://graph.microsoft.com/v1.0/users/ID/contacts API,并且我应该能够创建/删除联系人。我错过了什么,或者我该如何实现它?

共有1个答案

暴德运
2023-03-14

编辑:我不相信我的答案是准确的,因为“me”endpoint不能与client_credential流一起工作。

原始答案--

Usersendpoint用于查询组织中的所有用户,这与联系人不同。

    null

您将使用的endpoint是:https://graph.microsoft.com/v1.0/me/contacts

您可以使用Microsoft Graph Explorer试验不同的endpoint。该网站还将通知您每个呼叫所需的权限(通过修改权限选项卡),并让您了解呼叫本身的所有方面。

 类似资料:
  • 问题内容: 我正在尝试阅读我的iOS通讯录的联系人图像,但遇到了一些 麻烦。 我有一个读取ABAddressBookRef的联系人信息 并将其放在结构上的方法。 but when I debug it, it stops on: 并且不显示任何错误消息。 我究竟做错了什么? 我正在使用模拟器的默认联系人对其进行测试,他们没有图像, 但是有占位符及其名字的第一个字母。 编辑: 我将代码更改为 并且在

  • 问题内容: 我正在使用一个简单的短信应用程序,正在使用以下代码在加载线程列表时获取线程ID,但是我不知道如何使用线程ID获取联系人ID。我是root用户,并且使用root资源管理器,我可以在数据库中看到一个带有以下各列的联系人表 因此,由于我具有线程ID,因此我应该能够获取联系人ID,但我还需要确保该方法在所有设备上均有效。我的应用不是root用户 获取线程ID的代码 问题答案: 我恢复所有联系人

  • 问题内容: 我想获取联系人姓名,但无法。看完这个答案后,我尝试使用family,给定的和显示的来获取名称,但没有任何效果 / 问题答案: 尝试以下代码以获取特定号码的联系方式 更多详细信息请参见下面的链接https://tausiq.wordpress.com/2012/08/23/android-get-contact- details-id-name-phone-photo/

  • 我想从Android的联系簿中获得电话号码。我尝试了许多方法,但我无法获得电话号码。我有联系人姓名和状态,但当我尝试获取电话号码时,它不起作用。我的代码是。

  • 问题内容: 是否可以在一个查询中完成? 据我所知sim联系人的内容uri是 问题答案: 这很容易!:)

  • 问题内容: 我正在尝试从通话记录中获取联系人。我可以使用以下代码从主要联​​系人获取联系电话: 它的作用是,当我们单击“联系人”按钮时,它将打开一个包含所有联系人的列表,用户可以选择任何联系人,并且所选联系人将添加到“收件人”字段中。我想做完全相同的事情,但是我不想显示所有联系人,而是只显示最近使用过的那些(呼叫记录)进行选择的联系人。 如果您还可以告诉如何与组一起执行此操作,那也很好。 问题答案