误差=" insufficient_scope"访问yahoo Japan API订单信息时

时间:2016-08-31 04:30:58

标签: yahoo-api

使用yahoo Japan API时遇到问题。 使用订单信息API时,服务器始终返回错误:

BufferedWriter sorted_file_writer = new BufferedWriter(new FileWriter("output.txt",true));                      
    BufferedReader wfr_1 = new BufferedReader(new FileReader("file2.txt"));
    BufferedReader wfr_2 = new BufferedReader(new FileReader("file1.txt"));
    int v1, v2;
    String l1, l2;
    while(true){
        l1=wfr_1.readLine();
        l2=wfr_2.readLine();
        if(l1 == null || l2 == null)
            break;
        v1 = Integer.parseInt(l1);
        v2 = Integer.parseInt(l2);          
        if(v1 < v2)
        {
            sorted_file_writer.write(l1+System.getProperty("line.separator"));
            sorted_file_writer.flush();
            sorted_file_writer.write(l2+System.getProperty("line.separator"));
            sorted_file_writer.flush();
        }
        else
        {   
            sorted_file_writer.write(l2+System.getProperty("line.separator"));
            sorted_file_writer.flush();
            sorted_file_writer.write(l1+System.getProperty("line.separator"));
            sorted_file_writer.flush();
        }
    }

    while(l1!=null)
    {
        sorted_file_writer.write(l1+System.getProperty("line.separator"));
        sorted_file_writer.flush();
        l1=wfr_1.readLine();
    }

    while(l2!=null)
    {   
        sorted_file_writer.write(l2+System.getProperty("line.separator"));
        sorted_file_writer.flush();
        l2=wfr_2.readLine();
     } 

这是我的要求:

<?xml version="1.0" encoding="utf-8" ?>
<Error>
    <Message>
Please provide valid credentials. Bearer realm="yahooapis.jp", error="insufficient_scope", error_description="insufficient scope"
</Message>
</Error>

所以,也许您认为我的accessToken已过期或无效。但是,当我使用此accessToken访问用户信息API时,它的工作正常,因此accessToken不是问题。

https://circus.shopping.yahooapis.jp/ShoppingWebService/V1/orderInfo
Authorization: Bearer accessToken
<Req>
    <Target>
        <OrderId>orderId here</OrderId>
        <Field>PayStatus,SettleStatus</Field>
    </Target>
    <SellerId>sellerId here</SellerId>
</Req>

我不知道我的请求有什么问题,也许你知道。感谢。

更新 对于有相同问题的人,这是我的解决方案。 您需要与雅虎联系,要求他们允许您使用购物API。那就是它:))

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的问题所以我在做授权时做了什么我在请求参数中添加了范围关键字,而访问yahoo网站时它要求我允许其他信息,如电子邮件,名称等等,所以它的工作正常后那。在授权时检查params。

'scope'         => $scope

回家这会帮助你..