使用Admin SDK的目录API更新用户信息时收到错误:
400 BAD_REQUEST
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Invalid Input: Bad request for ",
"reason" : "invalid"
} ],
"message" : "Invalid Input: Bad request for "
}
尝试为用户更新组织详细信息,例如姓名,职位和部门
我的示例代码:`
Get users = directoryService.users().get(userEmail);
User user = users.execute();
try{
List<UserOrganization> userOrg = new ArrayList<UserOrganization>();
userOrg = user.getOrganizations();
if(userOrg != null){
UserOrganization f_userOrg = new UserOrganization();
f_userOrg = userOrg.get(0);
if(f_userOrg != null){
f_userOrg.setTitle("SAP Asso");
f_userOrg.setName("xyz company name");
f_userOrg.setDepartment("xyz dept name");
f_userOrg.setType("work");
userOrg.add(f_userOrg);
user.setOrganizations(userOrg);
}
}
InputStream body = directoryService.users().update(userEmail,user).executeAsInputStream();
// @ this line it throws exception 400 BAD_REQUEST
}catch(Exception e){
e.printStackTrace();
}
我引用此update_user链接来更新用户数据。
任何帮助将不胜感激。 感谢。
答案 0 :(得分:2)
是否可以打印您要发送给Google API的请求。您发送的格式可能存在问题。
答案 1 :(得分:2)
400 BAD_REQUEST是服务器无法理解的请求 由于语法错误。客户端不应该重复请求 没有修改。
所以基本上API调用时参数不匹配。在这种情况下,您的请求会转到服务器,但由于请求参数错误,它会产生400错误。