我正在尝试列出Office 365域中的用户。我正在使用图API。我使用Directory.Read权限在azure AD中注册了我的应用程序。我能够检索访问令牌,但当我尝试发送请求列出用户时,它会返回错误:
{"odata.error":{"code":"Request_DataContractVersionMissing","message":{"lang":"en",
"value":"The specified api-version is invalid. The value must exactly match a supported
version."}}}
这是我提出的要求:
apiUrl := "https://graph.windows.net/"
resource := "vstoregrid.com/users"
data := url.Values{}
data.Set("api-version", "2013-04-05")
authbear := "Bearer "
authbear += accessobj.Access_token
u, _ := url.ParseRequestURI(apiUrl)
u.Path = resource
urlStr := fmt.Sprintf("%v", u)
client := &http.Client{}
r, _ := http.NewRequest("GET", urlStr, bytes.NewBufferString(data.Encode()))
r.Header.Add("Content-Type", "application/json")
r.Header.Set("Authorization", authbear)
r.Header.Add("Host", "graph.windows.net")
r.Header.Add("Content-Length", strconv.Itoa(len(data.Encode())))
我正在使用文档中指定的版本。我哪里错了?
答案 0 :(得分:1)
正如错误消息在结果中所示:
指定的api-version无效。该值必须与支持的值完全匹配 版本
您指定了api版本:
data.Set("api-version", "2014-04-05")
"2014-04-05"
不是有效的api版本。请参阅supported versions here列表。
支持的版本:
"1.5"
"2013-11-08"
"2013-04-05"
您很可能想要使用api版本"2013-04-05"
:
data.Set("api-version", "2013-04-05")