Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gigya ids.setAccountInfo错误架构验证失败_Android_Gigya - Fatal编程技术网

Android Gigya ids.setAccountInfo错误架构验证失败

Android Gigya ids.setAccountInfo错误架构验证失败,android,gigya,Android,Gigya,我正在尝试设置帐户数据 我使用id.setAccountInfo GSObject param = new GSObject(); GSObject profile = new GSObject(); param.put("UID", user.getString("UID")); profile.put("firstName", "FirstName"); param.put

我正在尝试设置帐户数据
我使用id.setAccountInfo

            GSObject param = new GSObject();
            GSObject profile = new GSObject();
            param.put("UID", user.getString("UID"));
            profile.put("firstName", "FirstName");
            param.put("profile", profile);
            GSAPI.getInstance().sendRequest("ids.setAccountInfo", param, new GSResponseListener() {
                @Override
                public void onGSResponse(String s, GSResponse gsResponse, Object o) {
                    Log.d("ids.setAccountInfo", "----------------------------");
                    Log.d("ids.setAccountInfo", "s " + s);
                    Log.d("ids.setAccountInfo", "gsResponse " + gsResponse);
                    Log.d("ids.setAccountInfo", "----------------------------");
                }
            }, null);
并有回应

    errorCode:400006
errorMessage:Invalid parameter value
errorDetails:Schema validation failed
data:{"validationErrors":[{"message":"write access mode violation","fieldName":"profile.firstName","errorCode":400025}],"statusCode":400,"errorMessage":"Invalid parameter value","time":"2015-08-13T11:48:14.664Z","errorDetails":"Schema validation failed","statusReason":"Bad Request","errorCode":400006,"callId":"e0ed6aebea144323b095849ae3ed40ee"}
如果我发送空配置文件或不发送,则成功

errorCode:0
errorMessage:null
errorDetails:null
data:{"statusCode":200,"errorCode":0,"time":"2015-08-13T11:53:19.738Z","callId":"e59b00cd09bf48a398586219f817930d","statusReason":"OK"}

由于对ids.setAccountInfo的调用是从客户端完成的(假定使用了android SDK),而这些字段的配置文件模式为“serverOnly”或“clientCreate”。为了使其正常工作,这些字段需要具有“clientModify”写访问权限

使用字段write access获取架构,并查看字段write access

这是可以改变的,通过调用,在链接中寻找进一步的细节

writeAccess-指定是否允许未签名的请求写入此字段。使用ids.getAccountInfo方法或通过使用屏幕集设置字段时,此属性适用。支持的值包括:

  • “serverOnly”(默认)-只允许来自服务器的已签名请求
  • “clientCreate”-只有在以前未设置此字段的情况下,才允许来自客户端的未签名请求写入此字段
  • “clientModify”-允许来自客户端的未签名请求写入此字段并修改现有值