[英]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();
此外,我嘗試設置挑戰響應,但這似乎也不起作用。
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.