vk-java-sdk
vk-java-sdk copied to clipboard
Ошибка "Invalid JSON" при обращении к ads.getAds
Доброго времени суток! Хочу получить список рекламных объявлений, но при выполнении запроса получаю вот такой лог ошибок
12:42:24.314 [main] ERROR com.vk.api.sdk.client.ApiRequest - Invalid JSON: {"response":[{"id":"55214535","campaign_id":1012295058,"status":0,"approved":"2","create_time":"1558295431","update_time":"1558332672","goal_type":1,"cost_type":1,"day_limit":"0","all_limit":"0","start_time":"0","stop_time":"0","category1_id":"476","category2_id":"0","age_restriction":"3","name":"Photographer Kseniya Andreevna","events_retargeting_groups":[],"ad_format":9,"cpm":"32000","impressions_limit":5,"ad_platform":"all"}]}
com.google.gson.JsonSyntaxException: Expected a com.google.gson.JsonObject but was com.google.gson.JsonPrimitive
at com.google.gson.internal.bind.TypeAdapters$35$1.read(TypeAdapters.java:897) ~[gson-2.8.5.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) ~[gson-2.8.5.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) ~[gson-2.8.5.jar:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.5.jar:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[gson-2.8.5.jar:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[gson-2.8.5.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:927) ~[gson-2.8.5.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:994) ~[gson-2.8.5.jar:?]
at com.vk.api.sdk.client.ApiRequest.executeWithoutRetry(ApiRequest.java:101) [sdk-1.0.6.jar:?]
at com.vk.api.sdk.client.ApiRequest.execute(ApiRequest.java:64) [sdk-1.0.6.jar:?]
at Main.main(Main.java:28) [main/:?]
Токен -- рабочий. Использую com.vk.api:sdk:1.0.6 Надеюсь на помощь. Заранее спасибо!
P.S. исходный код ниже, вдруг в нём ошибка :-(
import com.vk.api.sdk.client.TransportClient;
import com.vk.api.sdk.client.VkApiClient;
import com.vk.api.sdk.client.actors.UserActor;
import com.vk.api.sdk.exceptions.ApiException;
import com.vk.api.sdk.exceptions.ClientException;
import com.vk.api.sdk.httpclient.HttpTransportClient;
import com.vk.api.sdk.objects.ads.Ad;
import java.util.List;
public class Main {
private static final String USER_TOKEN = "****************************";
private static final int USER_ID = 103360899;
private static final UserActor USER_ACTOR = new UserActor(USER_ID, USER_TOKEN);
private static final TransportClient TRANSPORT_CLIENT = HttpTransportClient.getInstance();
private static final VkApiClient VK_API_CLIENT = new VkApiClient(TRANSPORT_CLIENT);
public static void main(String[] args) {
List<Ad> ads = null;
try {
ads = VK_API_CLIENT
.ads()
.getAds(USER_ACTOR, 1604834286)
.includeDeleted(false)
.execute();
} catch (ApiException | ClientException e) {
e.printStackTrace();
}
System.out.println(ads);
}
}
Outdated ads schema, same issue #191
Fixed in 1.0.15