Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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
Java 请问如何将此Curl请求移植到Android?_Java_Android_Curl - Fatal编程技术网

Java 请问如何将此Curl请求移植到Android?

Java 请问如何将此Curl请求移植到Android?,java,android,curl,Java,Android,Curl,我正试图从我的Android应用程序中获取PayPal Oauth刷新令牌 就像在这个链接中一样 在Curl中,实现这一目标的要求如下: curl 'https://api.paypal.com/v1/oauth2/token' \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Authorization: Basic QWZV...==" \ -d 'grant_type=authorization_code&re

我正试图从我的Android应用程序中获取PayPal Oauth刷新令牌

就像在这个链接中一样

在Curl中,实现这一目标的要求如下:

curl 'https://api.paypal.com/v1/oauth2/token' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Basic QWZV...==" \
-d 'grant_type=authorization_code&response_type=token&redirect_uri=urn:ietf:wg:oauth:2.0:oob&code=EBYhRW3ncivudQn8UopLp4A28...'
请问如何从Android应用程序中执行此操作?

我试过这样做:

    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("https://api.paypal.com/v1/oauth2/token");

    try {
        httppost.addHeader("Content-Type", "x-www-form-urlencoded");
        httppost.addHeader("Authorization", "Basic QWZV...==");
        StringEntity se=new StringEntity("grant_type=authorization_code&response_type=token&redirect_uri=urn:ietf:wg:oauth:2.0:oob&code="+authorization.getAuthorizationCode());
        httppost.setEntity(se);

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }

但我收到了400个错误的请求响应。

您尝试的
内容类型
标题完全错误。它不会将任何数据
-d
发布到服务器。因此,您得到了错误的请求错误

替换您的一个:

httppost.addHeader("Content-Type", "x-www-form-urlencoded");
以下为一(请注意两者之间的区别):


使用HttpUrlConnection或apachehttp客户端,然后告诉我们什么不起作用。@Mighter谢谢Mighter,请查看我的编辑。再见。LISA@LisaAnne问题解决了吗?非常感谢Sabuj,我尝试了您的修改,不幸的是又一次400个错误请求:-(@LisaAnne lol。您需要向我们提供您得到的响应。例如,
response.getEntity().getContent()的输出)
。请使用此响应更新您的问题。您是对的,
响应。getEntity().getContent()
显示:
{“错误”:“无效的请求”,“错误描述”:“客户端id和客户端机密都是必需参数”}
因此您的方法有效,我必须修复其余部分…谢谢!!!@SabujHassan是内容还是内容
httppost.addHeader("content-type", "application/x-www-form-urlencoded");