Я использую Twilio Rest API для отправки беспроводных команд с помощью Android Studio.Я реализовал структуру кода в соответствии с их документацией для беспроводных команд.но когда я нажимаю кнопку, чтобы получить ответ, вместо того, чтобы получить желаемый результат, я получаю несанкционированный ответ 401.Я использую их API в первый раз, так что явно не представляю, что я делаю не так здесь.
Вот мой код для этого:
public void byApi() {
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.baseUrl(ApiRetro.BASE_URL)
.build();
здесьSIMSID является уникальным anme для сим-карты twilio, и отправляемая мною команда - привет! Учетные данные для учетных данных = новые учетные данные (SIMSID, COMMAND);
ApiRetro apiRetro = retrofit.create(ApiRetro.class);
Call<ResponseBody> call = apiRetro.getSid(credentials);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if(response.isSuccessful())
{
try {
String hyyy=response.body().string();
try {
JSONObject jsonObject=new JSONObject(hyyy);
String test=jsonObject.getString("status");
Log.v("sdfg",test);
} catch (JSONException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
Log.v("TAG",response.body().string());
Toast.makeText(getApplicationContext(),response.body().string(),Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
}
else
{
Toast.makeText(getApplicationContext(),response.code()+" "+response.message(),Toast.LENGTH_LONG).show();
Log.v("one", String.valueOf(response.errorBody()));
Log.v("two",response.message());
Log.v("three", String.valueOf(response.code()));
Log.v("four", String.valueOf(response.headers()));
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
t.getStackTrace();
}
});
}
Интерфейс для запроса на модификацию выглядиткак это:
String BASE_URL = "https://wireless.twilio.com/v1/";
@Headers({"AccountSid:yyyyyyyyyyyyyyyyyxxxx",
"AuthToken: yyyyyyyyyyyyyyyyyyyyxxx",
"token: ",
"Content-Type: application/x-www-form-urlencoded"})
@POST("Commands")
Call<ResponseBody> getSid(@Body Credentials credentials);
Класс кузова:
public class Credentials {
String Sim;
String Command;
public Credentials(String sim, String command) {
Sim = sim;
Command = command;
}
public String getSim() {
return Sim;
}
public void setSim(String sim) {
Sim = sim;
}
public String getCommand() {
return Command;
}
public void setCommand(String command) {
Command = command;
}
}