我正在尝试使用 REST-API for Android从Magento请求产品
我已经使用Scribe创建了身份验证。我读到这不适用于 Android,因此,我进行了更多搜索并找到了signpost。
这是我的代码
private void requestOAuth(String url)
{
OkHttpOAuthConsumer consumer = new OkHttpOAuthConsumer(MAGENTO_API_KEY, MAGENTO_API_SECRET);
consumer.setTokenWithSecret(getAccessToken().getToken(), getAccessToken().getSecret());
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new SigningInterceptor(consumer))
.build();
final Request request = new Request.Builder()
.url(url).build();
try
{
Request signedRequest = (Request) consumer.sign(request).unwrap();
Call call = client.newCall(signedRequest);
Logger.i(TAG, ">>>> oAuth URL = " + url);
Response response = call.execute();
String responseString = response.body().string();
Logger.i(TAG, "oAuth = " + response.code() + " oAuth Request ___ response = " + responseString);
}
catch (OAuthMessageSignerException | OAuthExpectationFailedException | OAuthCommunicationException | IOException e)
{
Logger.e(e);
}
}
我总是得到“服务暂时不可用”和代码 500。
我激活guest进行测试,发现必须发送header“ accept
”>“ application/json
”,否则作为guest不起作用。
我在请求身份验证时尝试过,但它的响应是“用户角色不可用”。
我已经在 Magento 中创建了一个角色,授予它权限..等等。(因此身份验证已完成,我已获得令牌和令牌秘密)。
谁能建议为什么它不起作用?我一直在寻找几天并尝试了很多东西,但没有任何效果......
我必须发送任何标题吗?