Php 消息:CompactToken解析失败,错误代码:8004920A,代码:InvalidAuthenticationToken
我想在我的应用程序中创建outlook联系人。首先,我进入下面的urlPhp 消息:CompactToken解析失败,错误代码:8004920A,代码:InvalidAuthenticationToken,php,azure-active-directory,microsoft-graph-api,Php,Azure Active Directory,Microsoft Graph Api,我想在我的应用程序中创建outlook联系人。首先,我进入下面的url https://login.live.com/oauth20_authorize.srf?client_id=“.$client\u id.&scope=wl.signin%20wl.basic%20wl.emails%20wl.contacts\u emails%20wl.contacts\u create&response\u type=code&redirect\u uri=”.$redirect\u uri 我希望这
https://login.live.com/oauth20_authorize.srf?client_id=“.$client\u id.&scope=wl.signin%20wl.basic%20wl.emails%20wl.contacts\u emails%20wl.contacts\u create&response\u type=code&redirect\u uri=”.$redirect\u uri
我希望这是一个古老的方式获得代币,所以我是
https://login.microsoftonline.com/daa825ce-e4fb-40d2-b2e6-3a2f25e62b7c/oauth2/token?client_id=“.$client\u id.&scope=wl.signin%20wl.basic%20wl.emails%20wl.contacts\u emails%20wl.contacts\u create&response\u type=code&redirect\u uri=”.$redirect\u uri
所以我在下面得到了这个错误
到,您应该打电话
POST https://graph.microsoft.com/v1.0/me/contacts
Content-type: application/json
{
"givenName": "Pavel",
"surname": "Bansky",
"emailAddresses": [
{
"address": "pavelb@fabrikam.onmicrosoft.com",
"name": "Pavel Bansky"
}
],
"businessPhones": [
"+1 732 555 0102"
]
}
您可以按照以下步骤获取访问令牌。请记住授予您的应用程序Contacts.ReadWrite
权限
步骤2和步骤3中的范围应为https://graph.microsoft.com/Contacts.ReadWrite
更新:
要使用个人帐户,您需要设置支持的帐户类型,如下所示
授权端点应该使用公共,而不是指定的租户
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id=562855f4-f3dd-40bb-b829-515ccb96ff3f
&response_type=code
&redirect_uri=http://localhost
&response_mode=fragment
&scope=https://graph.microsoft.com/Contacts.ReadWrite
&state=12345
还有令牌端点
https://login.microsoftonline.com/common/oauth2/v2.0/token
要知道,你应该打电话
POST https://graph.microsoft.com/v1.0/me/contacts
Content-type: application/json
{
"givenName": "Pavel",
"surname": "Bansky",
"emailAddresses": [
{
"address": "pavelb@fabrikam.onmicrosoft.com",
"name": "Pavel Bansky"
}
],
"businessPhones": [
"+1 732 555 0102"
]
}
您可以按照以下步骤获取访问令牌。请记住授予您的应用程序Contacts.ReadWrite
权限
步骤2和步骤3中的范围应为https://graph.microsoft.com/Contacts.ReadWrite
更新:
要使用个人帐户,您需要设置支持的帐户类型,如下所示
授权端点应该使用公共,而不是指定的租户
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
client_id=562855f4-f3dd-40bb-b829-515ccb96ff3f
&response_type=code
&redirect_uri=http://localhost
&response_mode=fragment
&scope=https://graph.microsoft.com/Contacts.ReadWrite
&state=12345
还有令牌端点
https://login.microsoftonline.com/common/oauth2/v2.0/token
请将错误发布为文本,而不是图像请将错误发布为文本,而不是图像我认为这是用户需要登录应用程序的授权权限。如果我需要用户在后台添加联系人,那么我不需要登录。我认为这是应用程序权限。因此,每当我尝试使用应用程序权限时,我没有得到结果&得到错误“未找到资源”或“压缩令牌”。包括这一点,这项服务是免费的吗?&我不必在azure中接受任何订阅?可能是因为这个原因它没有获取响应?每当我点击这个url获得授权权限时?客户端id=f9d70f3f-08c1-4df3-9f9a-f3ce24b572a3&response\u type=code&redirect\u uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&response\u mode=query&scope=offline\u访问%20用户。读取%20mail。读取%20contacts.readwrite&state=12345我获取“访问令牌验证失败。无效访问群体”我的代码在@ahmadlatif1084上方。是否要为您的个人帐户或azure ad帐户创建联系人?@ahmadlatif1084这与azure订阅无关。您试用过Microsoft图形浏览器吗@ahmadlatif1084如果你想为azure ad帐户创建联系人,必须为该ad帐户分配o365许可证,该许可证已经是电子邮件地址。我认为这是用户需要登录应用程序的授权权限。如果我需要用户在后台添加联系人,因此,我不需要登录。我认为这是应用程序权限。因此,每当我尝试使用应用程序权限时,我都没有得到结果&得到错误“未找到资源”或“压缩令牌”。包括这一点,这项服务是免费的吗?&我不必在azure中接受任何订阅?可能是因为这个原因它没有获取响应?每当我点击这个url获得授权权限时?客户端id=f9d70f3f-08c1-4df3-9f9a-f3ce24b572a3&response\u type=code&redirect\u uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&response\u mode=query&scope=offline\u访问%20用户。读取%20mail。读取%20contacts.readwrite&state=12345我获取“访问令牌验证失败。无效访问群体”我的代码在@ahmadlatif1084上方。是否要为您的个人帐户或azure ad帐户创建联系人?@ahmadlatif1084这与azure订阅无关。您试用过Microsoft图形浏览器吗@ahmadlatif1084如果要为azure ad帐户创建联系人,必须为该ad帐户分配o365许可证,该许可证已经是电子邮件地址。