Azure Rest API"找不到该段'消息的资源?$ filter =来自'。 "

时间:2017-03-24 14:56:43

标签: azure azure-active-directory office365api azure-ad-graph-api

我正在尝试访问过去工作的特定文件夹的邮件。出于某种原因通过"?"在网址中被拒绝为"非法字符"在我们的api所以我编码了#34;?"至"%3F"最后的网址看起来像这样:

# input field separator is @@@
awk -F '@@@' '
   # Ouput separator is (arbitrary) TAB
   BEGIN { OFS="\t" }
   # at first read of the file (if several field)
   FNR==NR && NF>1{
     # take the longest value per field in whole file
     for( i=1;i<=NF;i++ ) if( F[i] < ( l = length( $i) ) ) F[i] = l
     # treat next entry
     next
     }
   # at next read, if several field
   NF>1 {
     # rebuild field within longest field value corresponding to this field  
     for( i=1;i<=NF;i++ ) $i = sprintf( "%-" F[i] "s", $i)
     }
   # print current line
   7
   ' YourFile YourFile

标题包含以下内容。

https://graph.microsoft.com/v1.0/me/MailFolders/INBOX/messages?$filter=From/EmailAddress/Address eq 'alerts-noreply@mail.windowsazure.com'

我正在使用Azure REST API的v1。我无法理解发生了什么。

我收到错误。

("Authorization", "Bearer " + token)
("Content-Type", "application/json")
("Accept", "application/json")
("grant_type", "client_credentials")

我知道你的帮助。

2 个答案:

答案 0 :(得分:2)

您无法将?编码为%3F,这会打破它。通过这种方式编码,您表明它不是查询参数分隔符,因此服务器正在尝试查找名为messages?$filter=From的段:)。

答案 1 :(得分:-1)

我认为这里的问题是资本化问题。

如果查看上面复制的查询,则大写:

  

https://graph.microsoft.com/v1.0/me/MailFolders/INBOX/messages?$ filter = F rom / E mailAddress / A ddress eq'alerts-noreply@mail.windowsazure .com“之间

当这3个字母都需要小写时(our documents下面的样本):

GET https://graph.microsoft.com/v1.0/me/messages?$filter=from/emailAddress/address eq 'jon@contoso.com'