【发布时间】:2017-02-24 02:37:43
【问题描述】:
只想知道我在下面的代码中在哪里插入服务器的 API 密钥:
public class GetCurrentJob extends Job {
Context context;
GetFeedback feedback;
protected GetCurrentJob(Context context, GetFeedback fb) {
super(new Params(PRIORITY.HIGH).requireNetwork());
feedback = fb;
this.context = context;
}
@Override
public void onAdded() {
}
@Override
public void onRun() throws Throwable {
//POST feedback to server... require API key. How?
Response<String> response = Ion.with(context)
.load("POST", URLbuilder.getURL())
.setStringBody(feedback.toJson())
.asString()
.withResponse()
.get();
//Toast.makeText(context, "post", Toast.LENGTH_SHORT).show();
if (response.getHeaders().code() != HttpURLConnection.HTTP_OK) {
Log.d("test", "error in request " + String.valueOf(response.getResult()));
return;
}
else
{
Log.d("test", "success" + String.valueOf(response.getResult()));
}
}
@Override
protected void onCancel(int cancelReason, @Nullable Throwable throwable) {
}
@Override
protected RetryConstraint shouldReRunOnThrowable(@NonNull Throwable throwable, int runCount, int maxRunCount) {
return null;
}
}
我的 URLbuilder 类:
public class URLbuilder {
private static final String SERVER = "http://jxapp-s-ticket.cloudapp.net/jxapp_ticket/upload/api/http.php/tickets.json";
public static String getURL(){
return Uri.parse(SERVER).buildUpon().toString();
}
}
只是一点点信息:
我的应用接受用户反馈并将反馈返回给服务器,然后服务器将生成一张票给用户。
我能够从服务器(即日志)生成响应。但是日志会生成:“请求中的错误需要有效的 API 密钥”。
我需要一种插入 API 密钥的方法,但我不知道如何插入(我对 Android Studio 以及 POST 和 GET 操作都很陌生)!
如果可能,请提供帮助!谢谢!
【问题讨论】:
-
您的服务器如何获取 API 密钥?通常,如果它是一个 API 密钥,您只需在查询参数中发送
-
嘿嗨!谢谢回复。我从我的一位前辈那里得到了答案。我解决它的方法是肯定的,通过像这样编辑离子的查询参数:
Response<String> response = Ion.with(context) .load("POST", URLbuilder.getURL()) .setHeader("x-api"," API KEY HERE ") .setStringBody(feedback.toJson()) .asString() .withResponse() .get();
标签: java android json android-ion