I'm getting CompactVenue result in api:
Result<VenuesSearchResult> result = foursquareApi.venuesSearch("" + lat + "," + lon, null, null, null, name, null, null, null, null, null, null);
Then I get ComapctVenue that I need and put it's ID to api to get CompleteVenue:
Result<CompleteVenue> completeVenueResult = foursquareApi.venue(ven.getId())
But my result doesn't contain canonical URL. Only short URL, name and ID.
How can I get canonical URL this way?
You can make an api call to the /venues/detail API endpoint with the same venue ID. It has an attribute "canonicalUrl" which is the attribute you want.