在 Restlet 中向 header 添加身份验证令牌
Adding an authentication token to header in Restlet
我正在尝试在 java 中使用 Restlet 进行 API 调用,但是当我 运行 我的代码时,我得到一个 org.restlet.resource.ResourceException: Unauthorized (401) - 请求需要用户身份验证
API 调用的格式如下 shell:curl "<api_url>" \ -H "Authorization: Bearer <api_token_here>"
但是我不确定如何在 Restlet 中添加此授权 header,因为您无法使用 .getRequest().getHeaders().add();
添加 header
此外,我尝试设置挑战响应,但这似乎也不起作用。
API = new ClientResource(RequestURL);
API.setProtocol(Protocol.HTTPS);
ChallengeResponse AuthHeader = new ChallengeResponse(ChallengeScheme.CUSTOM);
AuthHeader.setRawValue("Authorization: Bearer " + APIKey);
API.getRequest().setChallengeResponse(AuthHeader);
API.get();
我似乎已经用以下代码解决了这个问题:
ChallengeResponse AuthHeader = new ChallengeResponse(ChallengeScheme.HTTP_OAUTH_BEARER);
AuthHeader.setRawValue(APIKey);
AuthHeader.setIdentifier("Bearer");
API.setChallengeResponse(AuthHeader);
我正在尝试在 java 中使用 Restlet 进行 API 调用,但是当我 运行 我的代码时,我得到一个 org.restlet.resource.ResourceException: Unauthorized (401) - 请求需要用户身份验证
API 调用的格式如下 shell:curl "<api_url>" \ -H "Authorization: Bearer <api_token_here>"
但是我不确定如何在 Restlet 中添加此授权 header,因为您无法使用 .getRequest().getHeaders().add();
此外,我尝试设置挑战响应,但这似乎也不起作用。
API = new ClientResource(RequestURL);
API.setProtocol(Protocol.HTTPS);
ChallengeResponse AuthHeader = new ChallengeResponse(ChallengeScheme.CUSTOM);
AuthHeader.setRawValue("Authorization: Bearer " + APIKey);
API.getRequest().setChallengeResponse(AuthHeader);
API.get();
我似乎已经用以下代码解决了这个问题:
ChallengeResponse AuthHeader = new ChallengeResponse(ChallengeScheme.HTTP_OAUTH_BEARER);
AuthHeader.setRawValue(APIKey);
AuthHeader.setIdentifier("Bearer");
API.setChallengeResponse(AuthHeader);