Google URL сокращения не работает
Привет, я создаю приложение, в котором пользователь может отправлять карточки другому пользователю, но когда я нажимаю кнопку Отправить, я пытаюсь использовать сокращение URL-адреса для отправки ссылки, но мое сокращение URL-адреса не работает вообще, оно всегда показывает сообщение об ошибке, что сокращение URL-адреса не удалось. Я Я провел некоторое исследование SO, но не нашел правильного решения. Я знаю, что что-то не так, но не знаю, какая часть ниже, это мой код для сокращения URL.
public void getShortenedUrl(String url, final int sendType){
try {
if (NetworkInfo.isNetworkAvailable(getActivity())) {
final boolean isMyCard=getArguments().getBoolean("isMyCard");
final String sharedTo=ceShareVia.getText().toString();
final String[] addresses = sharedTo.split(",");
LongUrl data = new LongUrl(url);
Call<LongUrl> cardResponseCall = ApiClientMain.getApiClient("https://www.googleapis.com/urlshortener/v1/")
.getShortenedUrl("application/json",ApplicationData.GOOGLE_URL_SHORTENER_KEY, data);
pbShare.setVisibility(View.VISIBLE);
cardResponseCall.enqueue(new retrofit2.Callback<LongUrl>() {
@Override
public void onResponse(Call<LongUrl> call, Response<LongUrl> response) {
pbShare.setVisibility(View.GONE);
if (response != null && response.body() != null) {
String url = response.body().getId();
String message;
if(isMyCard) {
message = "Hello," + "\n"
+ "Thanks for connecting!\n\n" + introMessage + "\n\n" + url + "\n\nRegards,\n"
+ preferenceManager.getPreferenceValues(PreferenceConstant.PERSON_NAME)
+ "\n" + "Have a nice day!";
}else {
message = "Hello," + "\n"
+ "Thanks for connecting!\n\n" + introMessageOther + "\n\n" + url + "\n\nRegards,\n"
+ preferenceManager.getPreferenceValues(PreferenceConstant.PERSON_NAME)
+ "\n" + "Have a nice day!";
}
switch (sendType){
case 0:
sendEmail(addresses,"My Business Card",message);
break;
case 1:
sendSms(sharedTo,message);
break;
case 2:
shareTextUrl(message);
break;
}
}
else {
Toast.makeText(getActivity(),"Url shortening failed",Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<LongUrl> call, Throwable t) {
pbShare.setVisibility(View.GONE);
Toast.makeText(getActivity(),"Url shortening failed",Toast.LENGTH_SHORT).show();
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
а вот модель класса для длинных URL
public class LongUrl {
@SerializedName("longUrl")
@Expose
private String longUrl;
@SerializedName("id")
@Expose
private String id;
@SerializedName("kind")
@Expose
private String kind;
public String getLongUrl() {
return longUrl;
}
public void setLongUrl(String longUrl) {
this.longUrl = longUrl;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
public LongUrl(){
}
public LongUrl(String longUrl){
this.longUrl = longUrl;
}
}
1 ответ
Google URL Shortener выключен.
ОФИЦИАЛЬНЫЙ РЕЛИЗ
Начиная с 30 марта 2018 года, мы будем отказываться от поддержки сокращателя URL goo.gl. С 13 апреля 2018 года только существующие пользователи смогут создавать короткие ссылки на консоли goo.gl. Вы сможете просматривать свои аналитические данные и загружать информацию о коротких ссылках в формате csv на срок до одного года до 30 марта 2019 года, когда мы прекратим goo.gl. Ранее созданные ссылки будут продолжать перенаправлять по назначению.
Прочитайте этот блог для более подробной информации.
Если это новый проект, вы не можете создать сокращенный URL с помощью API