2

我正在尝试使用 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 中创建了一个角色,授予它权限..等等。(因此身份验证已完成,我已获得令牌和令牌秘密)。

谁能建议为什么它不起作用?我一直在寻找几天并尝试了很多东西,但没有任何效果......

我必须发送任何标题吗?

4

0 回答 0