Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有scribes java库的Woocommerce REST API返回消费者密钥参数丢失错误消息_Java_Wordpress_Woocommerce_Oauth 1.0a - Fatal编程技术网

带有scribes java库的Woocommerce REST API返回消费者密钥参数丢失错误消息

带有scribes java库的Woocommerce REST API返回消费者密钥参数丢失错误消息,java,wordpress,woocommerce,oauth-1.0a,Java,Wordpress,Woocommerce,Oauth 1.0a,大家好,我正在尝试使用库通过http.code访问RESTAPI package org.scribe.examples; import java.util.*; import org.scribe.builder.*; import org.scribe.builder.api.*; import org.scribe.model.*; import org.scribe.oauth.*; public class WooCommerceOauth1Example { private sta

大家好,我正在尝试使用库通过http.code访问RESTAPI

package org.scribe.examples;
import java.util.*;
import org.scribe.builder.*;
import org.scribe.builder.api.*;
import org.scribe.model.*;
import org.scribe.oauth.*;
public class WooCommerceOauth1Example {

private static final String RESOURCE_URL = "http://WEBSITE.COM/wc-api/v1/orders";

public static void main(String[] args) {
    OAuthService service = new ServiceBuilder().provider(OneLeggedApi10.class)
            .apiKey("ck_SOME_NUMBER")
            .apiSecret("cs_SOME_NUMBER")
            .build();


    // Now let's go and ask for a protected resource!
    System.out.println("Now we're going to access a protected resource...");
    OAuthRequest request = new OAuthRequest(Verb.GET, RESOURCE_URL);
    //Since it is a one legged protocol, access token is empty.Right?      
    service.signRequest(new Token("", ""), request);

    Response response = request.send();
    System.out.println("Got it! Lets see what we found...");
    System.out.println();
    System.out.println(response.getCode());
    System.out.println(response.getBody());

    System.out.println();
    System.out.println("Thats it man! Go and build something awesome   with Scribe! :)");

   }
}
抛出以下错误 {“errors”:[{“code”:“woocommerce\u api\u authentication\u error”,“message”:“oauth\u consumer\u key参数丢失”}]}
. 你知道为什么我的代码会抛出上述错误吗?请注意,我已经用http检查了v1端点,它返回了合理的消息。因此基本上它可以工作。

从中删除“&”+OAuthEncoder.encode(tokenSecret),并将签名类型添加到QueryString,现在可以工作了

清洁后我会提出一个公关建议。谢谢巴勃罗。下面是完整的代码

package org.scribe.builder.api;

import org.scribe.model.Token;
import org.scribe.model.Verb;

public class OneLeggedApi10 extends DefaultApi10a {

@Override
public String getAccessTokenEndpoint() {
    return null;
}

@Override
public String getRequestTokenEndpoint() {
    return null;
}

@Override
public String getAuthorizationUrl(Token requestToken) {
    return null;
}

@Override
public Verb getAccessTokenVerb() {
    return Verb.GET;
}

@Override
public Verb getRequestTokenVerb() {
    return Verb.GET;
}

}
还有示例类

package org.scribe.examples;


import org.scribe.builder.*;
import org.scribe.builder.api.*;
import org.scribe.model.*;
import org.scribe.oauth.*;

 public class WooCommerceOauth1Example {

private static final String NETWORK_NAME = "Woocommerce";
private static final String RESOURCE_URL = "http://YOUR_DOMAIN/wc-api/v1/orders/count";
private static final String SCOPE = "*"; //all permissions

public static void main(String[] args) {
    OAuthService service = new ServiceBuilder().provider(OneLeggedApi10.class)
            .apiKey("API_KEY")                
            .apiSecret("SECRET_KEY") 
            .debugStream(System.out)
            .signatureType(SignatureType.QueryString)
            /*.scope(SCOPE).*/
            .build();

    System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
    System.out.println();

    // Now let's go and ask for a protected resource!
    System.out.println("Now we're going to access a protected         resource...");
    OAuthRequest request = new OAuthRequest(Verb.GET, RESOURCE_URL);

    service.signRequest(new Token("", ""), request);
    Response response = request.send();
    System.out.println("Got it! Lets see what we found...");
    System.out.println();
    System.out.println(response.getCode());
    System.out.println(response.getBody());

    System.out.println();
    System.out.println("Thats it man! Go and build something awesome with Scribe! :)");

}

}

您是否介意将
.debug()
添加到
ServiceBuilder
以查看生成的Auth头是什么?