Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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
Javascript Google Endpoints gapi.client.load自定义标题?_Javascript_Java_Android_Google App Engine_Google Api Js Client - Fatal编程技术网

Javascript Google Endpoints gapi.client.load自定义标题?

Javascript Google Endpoints gapi.client.load自定义标题?,javascript,java,android,google-app-engine,google-api-js-client,Javascript,Java,Android,Google App Engine,Google Api Js Client,在我的GoogleEndpoints项目中,我需要自定义标题,因为我使用自定义身份验证。我在后端端(端点代码)执行此操作,如中所述。要在Android客户端上实现这一点,我只需向endpoints服务发送额外的头,如下所示: Backend.Builder pb = new Backend.Builder(AndroidHttp.newCompatibleTransport(), new AndroidJsonFactory(), new HttpRequestInitializer() { @

在我的GoogleEndpoints项目中,我需要自定义标题,因为我使用自定义身份验证。我在后端端(端点代码)执行此操作,如中所述。要在Android客户端上实现这一点,我只需向endpoints服务发送额外的头,如下所示:

Backend.Builder pb = new Backend.Builder(AndroidHttp.newCompatibleTransport(), new AndroidJsonFactory(), new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) throws IOException {
    HttpHeaders headers = request.getHeaders();
    headers.set("authstuff", usernameTxt+"&"+passwdTxt);
    request.setHeaders(headers);
}
});
在JavaScript代码中,似乎没有任何方法使用gapi.client.load-action发送头,因此我尝试在加载完成后立即发出请求。我尝试了以下几种版本:

gapi.client.load('backend','v1',null,'http://localhost:8080/_ah/api)。然后(函数(){
gapi.client.request({
根:'http://localhost:8080/_ah/api',
路径:'/backend/v1/',
标题:{'authstuff':'user&password'}
}).然后(功能(res){
控制台日志(res);
},功能(res){
控制台日志(res);
});

});
找到了一种实际发送头的方法,但没有使用gapi。看起来gapi.client.request实际上并没有发送头(就像其他人在中提到的那样)。我通过在后端打印接收到的标题列表来确认这一点。我最终实际发送的标题是:
xhtpreq.open('GET','http://localhost:8080/_ah/api/backend/v1/user",假),;xhttpreq.setRequestHeader('authtstuff','user&pass');xhttpreq.send()每次操作都必须发送authstuff头,这似乎很烦人。这似乎也不安全。每次要访问api时都发送userdata。在Android解决方案上,我从来没有这样做过。初始化时只发送一次,其余的可能由谷歌库完成。