Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 无法从LH公共api生成访问令牌_Java_Android_Post_Android Volley - Fatal编程技术网

Java 无法从LH公共api生成访问令牌

Java 无法从LH公共api生成访问令牌,java,android,post,android-volley,Java,Android,Post,Android Volley,我一直试图从LH公共API生成访问令牌,但当我使用Volley发送POST请求时,我得到了“com.android.Volley.AuthFailureError” 包jvtech.jasvir; 导入android.support.v7.app.AppActivity; 导入android.os.Bundle; 导入android.view.view; 导入android.widget.Button; 导入android.widget.EditText; 导入android.widget.To

我一直试图从LH公共API生成访问令牌,但当我使用Volley发送POST请求时,我得到了“com.android.Volley.AuthFailureError”

包jvtech.jasvir;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Toast;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.JsonObjectRequest;
导入com.android.volley.toolbox.volley;
导入org.json.JSONException;
导入org.json.JSONObject;
公共类MainActivity扩展了AppCompatActivity{
编辑文本纬度、经度;
按钮提交;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
纬度=(编辑文本)findViewById(R.id.lat);
经度=(编辑文本)findViewById(R.id.lon);
提交=(按钮)findViewById(R.id.submit);
submit.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
字符串url=”https://api.lufthansa.com/v1/oauth/token";
String key=“abc”;
字符串secret=“abc”;
字符串grant_type=“abc”;
JSONObject对象=新的JSONObject();
试一试{
object.put(“客户端id”,密钥);
object.put(“客户机密”,secret);
object.put(“grant\u type”,grant\u type);
}
捕获(JSONException e)
{
e、 printStackTrace();
}
RequestQueue=Volley.newRequestQueue(MainActivity.this);
JsonObjectRequest=newJSONObjectRequest(request.Method.POST,url,object,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
尝试
{
Toast.makeText(MainActivity.this,“+response.getString(“访问令牌”),Toast.LENGTH\u SHORT.show();
}
捕获(JSONException e)
{
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(MainActivity.this,“+错误,Toast.LENGTH_SHORT.show();
}
});
添加(请求);
}
});
}}
收到令牌后,我想创建一个应用程序,根据输入的坐标显示最近的机场。到目前为止,这些纬度和经度变量与此无关。请帮忙。提前谢谢。祝你今天愉快

首先 我不认为RESTAPI接受JSON对象作为请求数据。 如果您看到他们的文档,就会看到
“内容类型:application/x-www-form-urlencoded”
。 这意味着数据应以
key1=value1&key2=value2…

将此作为发送
x-www-form-uriencoded
类型请求的参考

在Map内部(我们使用Map来设置参数的Key=value类型),使用它们来设置请求参数

param.put("client_id","your client id");
param.put("client_secret", "your secret");
param.put("grant_type","client_credentials");
希望这是有帮助的。祝你一切顺利

param.put("client_id","your client id");
param.put("client_secret", "your secret");
param.put("grant_type","client_credentials");