Google Books API - Book Details not Returned - google-books

So I started using the Google Books API for an application that I am building and I am fairly happy with the results.
But I have noticed a strange behaviour sometimes. Some ISBNs do not return any book details even though the book exists in the database.
For example, if I give: https://www.googleapis.com/books/v1/volumes?q=isbn:0262527359,I get the following response:
{
"kind": "books#volumes",
"totalItems": 0
}
I digged around the internet regarding this problem and found this link:
https://productforums.google.com/forum/#!topic/books-api/R5DvlRh-EKo
They suggest a workaround by not mentioning isbn: in the search query. So, the query becomes: https://www.googleapis.com/books/v1/volumes?q=0262527359
This method is not perfect but it's the only workaround I found.
That's when I noticed another problem. There is a mismatch between the description given on the webpage and the one in the response to the API call.
Can someone explain these strange behaviours to me? Are there any better solutions?

So i did some digging around and found out about this strange behaviour, when your query is of the form ...?q=isbn:0262527359, the results you get are the books that have this same isbn only and when you use the query of the form ...?q=0262527359, the results you get are the books that have any instance of this number in the record fields of any book. It can be either in editions isbn array or any other, this query will search all fields for matching results whereas the former query will only search isbn for matching results

Related

Using Pinterest Marketing api to fetch all entities?

Is there an edge that would allow fetching all the campaigns, adgroups, etc., of a given advertiser? In researching this I see these:
GET /ads/v3/campaigns/{campaign}/
GET /ads/v3/adgroups/{adgroup}/
...
which return only single entities. I also found that there is an async report that returns entities in batch:
advertisers/<advertiser ID>/entities/batch/
Is this the best way to accomplish this? If so, the doc says it only supports campaigns right now, is that still the case?
Thanks
Sorry to waste your time folks, I've since found more and better doc and discovered that there is this:
/ads/v3/advertisers/{advertiser}/campaigns/
Here is a link to the doc for your own reference:
https://developers.pinterest.com/docs/redoc/#operation/ads_v3_get_advertiser_campaigns_handler_GET

Google Knowledge Graph API Usage

I'd like to clarify how to use the Google knowledge graph API to obtain more specific information about an entity, such as the height or birthday of a person.
For instance, the documentation provides the following search for Taylor Swift:
https://kgsearch.googleapis.com/v1/entities:search?query=taylor+swift&key=API_KEY&limit=1&indent=True
This request returns some basic information, such as description, name, type, and id. However, the documentation sadly does not explain how to query specific properties for that person (even though the Person schema certainly contains that information).
I've tried changing the "query" value to "taylor+swift+birthday" but that returns something completely unrelated. I've also tried searching by the returned "id" (/m/0dl567 for the above example) but that doesn't give any extra information.
Some guidance on how to use the API in this way would be much appreciated! If however it's not possible to do this, what would be the best alternative?
Thanks!
According to the Knowledge Graph Search API reference, information such as height or DOB is not included in the response.
The most reliable source of such information currently is Wikidata. Using the Wikidata Query Service, you can query the data you need for the entity with the given Freebase ID or Google Knowledge Graph ID:
SELECT ?item ?itemLabel ?birthdate
WHERE
{
?item wdt:P646 "/m/0dl567".
?item wdt:P569 ?birthdate .
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

iOS Mapkit, identifying "type of business"

I've looked through numerous answers (most were slightly outdated), and I was wondering if Apple had some sort of way to identify the type of business it queried?
From the reference guide, MKMapItem has 5 variables, none of which tell me a place is a "Thai Restaurant" or something like that.
placemark
isCurrentLocation
name
phoneNumber
url
I think its interesting how when you do a MKMapkit query on "thai", it'll give you a list of thai restaurants but thats a one way street and no where later can I take a result from the query on "thai" to verify that it is indeed a "thai" restaurant. More importantly, what I am particularly interested in is if a business is a "Thai" restaurant and a "Bar" as well, I want to be able to do a MKMapKit query on "Bar" OR "Thai" and be able to get both of those tags
I can see a solution of getting the coordinates of a business then using Google Maps API or even Yelp API and doing a search on there to get the "type of business" but that seems extremely cumbersome and inefficient.
Thanks for any advice! One of my first questions so please so easy on me =)
First, take a look with this link : http://www.raywenderlich.com/13160/using-the-google-places-api-with-mapkit
The google API will send back the name, type, location of business location near you.
It's also send icons(via image link) of business location, so you can display it on the map, which can help you which is market, which is coffeeshop...
But the "Thai Restaurant" maybe too detail so google doesn't want to show it.
Sorry about my bad english.
Hope it help.
For that you should use google near by place search or place search api. you can pass thailand as place name and restaurant to type and it will return you all the restaurant in thailand.

Why incorrect "pageCount" returned using Google Books API?

When I am calling "books.volumes.get" API, I am getting a "pageCount" which is different than calling "books.volumes.list" API for the exact same book.
Taking for example "Cryptography decrypted" book title, using the Google API Explorer I will get the following values for "pageCount":
books.volumes.get : "pageCount"=392
books.volumes.list : "pageCount" = 352
Pay attention that the volume ID is exactly the same in both query results. ("id"=wNFQAAAAMAAJ)
Any suggestion for this strange behavior? Any feedback will be greatly appreciated.
Compare responses - they are different.
Publisher for first is "Addison-Wesley" and "Addison-Wesley Professional" for second.
It is total mess. According to book's page In first request is correct publisher but page count is wrong..
To my mind is better idea to send two letter with description of this situation. One to owner of API second to Addison-Wesley (request explanation about Professional). Not sure that your receive answer from second.. whatever..

Getting Location of Tweets found with Twitter Search API

Whenever I search for tweets using the geocode option, the returned tweets have "null" as their geo property. They are definitely coming from the right place because the location property has a name which is in the correct area, however I want to know what the coordinates of the tweet are so I can place on on a map (specifically Windows Phone).
I've tried a really hacky solution of searching for the location using the geo api, but this seems a really awkward way of doing it and often returns bad results (I want results from Oxford, UK but often the geo search return Oxford, IN for example).
Looking around, it seems Twitter's geolocation is currently broken, but I really need this to work for a presentation on Thursday demonstrating an app we built in a group, and it would really suck if our main feature didn't work.
Twitter's search API is broken. It will not return some information which is available through the regular API.
Once you have found a Tweet, you can try looking it up directly using statuses/show
For example, calling one of my tweets:
https://api.twitter.com/1/statuses/show.xml?id=202471009973051393&include_entities=true
gives
<geo>
<georss:point>51.52505194 -0.132582</georss:point>
</geo>
<coordinates>
<georss:point>51.52505194 -0.132582</georss:point>
</coordinates>

Resources