小编Uma*_*lid的帖子

调用AWS API - 签名、身份验证标头 - 在android中使用OkHTTP

我正在尝试使用 OkHTTP 在 android 中签署对 AWS API 的 HTTP 请求。我使用了这个Question中的代码。AWS 的文档根本没有帮助。我很困扰。这是迄今为止我发现的唯一易于理解和实现的代码。但它也无法解决我的问题。我没有使用 API 传递任何数据,它只是简单的 API,我必须调用它并接收消息。

我的代码

AWSCredentials credentials =  new BasicAWSCredentials(access_key_id.trim(), secret_access_key.trim());
String API_GATEWAY_SERVICE_NAME = "execute-api";

Request requestAws = new DefaultRequest(API_GATEWAY_SERVICE_NAME);
URI uri = URI.create(url);
requestAws.setEndpoint(uri);
requestAws.setResourcePath(url);
requestAws.setHttpMethod(HttpMethodName.POST);

AWS4Signer signer = new AWS4Signer();
signer.setServiceName(API_GATEWAY_SERVICE_NAME);
signer.setRegionName("us-east-2");
signer.sign(requestAws, credentials);

OkHttpClient httpClient = new OkHttpClient();
Map<String, String> headers = requestAws.getHeaders();
List<String> key = new ArrayList<String>();
List<String> value = new ArrayList<String>();

for (Map.Entry<String, String> entry : headers.entrySet()) {
   key.add(entry.getKey());
   value.add(entry.getValue());
}

okhttp3.Request request …
Run Code Online (Sandbox Code Playgroud)

java android aws-api-gateway

3
推荐指数
1
解决办法
1640
查看次数

标签 统计

android ×1

aws-api-gateway ×1

java ×1