我已经为Shopify网站设置了API密钥,并且能够使用以下代码执行GET请求请求
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet("https://75da...:2a1dd3...@mytest.myshopify.com/admin/products.json");
response = httpClient.execute(get);
以上是在junit测试中使用Apache httpcomponents客户端4.2.3和httpcomponents核心4.2.4
使用相同的参数我尝试使用WS.url()但是我得到了401的响应 - 未经授权且身体中有消息
[API]无效的API密钥或访问令牌(无法识别的登录名或密码错误)
我在junit测试中使用的代码:
WSRequestHolder requestHolder = WS.url("https://75da...:2a1dd3...@mytest.myshopify.com/admin/products.json");
Promise<Response> promise = requestHolder.get();
Response response = promise.get();
我正在使用游戏2.1.3。
所以区别在于使用apache vs WS,我认为WS需要一些配置。任何人都可以提供一些见解吗?
由于
答案 0 :(得分:0)
我发现了问题。我在使用WS时必须设置身份验证,例如
WSRequestHolder requestHolder = WS.url("https://mytest.myshopify.com/admin/products.json");
requestHolder.setAuth("75da...", "2a1dd3...");
Promise<Response> promise = requestHolder.get();