Review time is not returned in response - google-maps

I am using Google Places API to get Place details with reviews. Previously I was getting each review's time in the response.
For example,
"reviews" : [
{
"author_name" : "Robert Ardill",
"author_url" : "https://www.google.com/maps/contrib/106422854611155436041/reviews",
"language" : "en",
"profile_photo_url" : "https://lh3.googleusercontent.com/-T47KxWuAoJU/AAAAAAAAAAI/AAAAAAAAAZo/BDmyI12BZAs/s128-c0x00000000-cc-rp-mo-ba1/photo.jpg",
"rating" : 5,
"relative_time_description" : "a month ago",
"text" : "Awesome offices. Great facilities, location and views. Staff are great hosts",
"time" : 1491144016
}
]
But it looks like, after the new new billing changes in google APIs, the time value is not returned in the response.
Now i m getting a response like the following one
"reviews" : [
{
"author_name" : "Robert Ardill",
"author_url" : "https://www.google.com/maps/contrib/106422854611155436041/reviews",
"language" : "en",
"profile_photo_url" : "https://lh3.googleusercontent.com/-T47KxWuAoJU/AAAAAAAAAAI/AAAAAAAAAZo/BDmyI12BZAs/s128-c0x00000000-cc-rp-mo-ba1/photo.jpg",
"rating" : 5,
"relative_time_description" : "a month ago",
"text" : "Awesome offices. Great facilities, location and views. Staff are great hosts"
}
]
This is the line of code i am using to make the API call
https://maps.googleapis.com/maps/api/place/details/json?key=MY_API_KEY&placeid=MY_PLACE_ID&fields=review
If I remove the fields parameter in the web service call like below, the time value is returned in response with each review data properly.
https://maps.googleapis.com/maps/api/place/details/json?key=MY_API_KEY&placeid=MY_PLACE_ID
This looks like a bug in Google API side. I have subitted a bug in Google issuetracker.
https://issuetracker.google.com/issues/113753944?pli=1

Related

Google Place API not showing current result when I tried to search for AnimalClinics

Initially I tried
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=19.031959,%2072.895695&radius=10000&type=school&sensor=true&key=AIzaSyCjQ03Ldxx9c55QmQ7ANGKRhEL*********s
this url and this showed right result
"rating" : 3.4,
"reference" : "ChIJSSUqsiDG5zsRyRBoSTT6WaA",
"scope" : "GOOGLE",
"types" : [ "point_of_interest", "school", "establishment" ],
"user_ratings_total" : 21,
"vicinity" : "Janardhan Krishna Karmalkar Marg, Brindavan Colony, Chembur West, Mumbai"
},
But when I tried to search for animal clinic it is showing some weird location.
My url:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=19.031959,%2072.895695&radius=10000&type=AnimalClinics&sensor=true&key=AIzaSyCjQ03Ldxx9c55QmQ7ANGKR********
result:
"name" : "Nishraj Insurance Services",
"opening_hours" : {
"open_now" : true
It is working fine only with School, Hospitals and Hotels location but I have to show the location of nearest Animal Clinics and Milk Dairy.
This behavior is working as intended because Animal Clinic is currently not supported in Place Types, you may visit the docs here to see the current supported place types.
The possible place type for you is veterinary_care
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=19.031959,%2072.895695&radius=10000&type=veterinary_care&sensor=true&Key=YOUR_API_KEY
The result would be:
rating: 3.9,
reference: "ChIJVVVVlffO5zsR9rpcrHikEzs",
scope: "GOOGLE",
types: [
"veterinary_care",
"point_of_interest",
"establishment"
],

Google Maps Distance Matrix API - Not Returning long/lat in response

Trying out the Google Maps Distance Matrix API for calculating the time between the origin and destination and I'm using this API
https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=32.988777,xxxx&destinations=32.988777,xxxx&key=myAPIKey
(xxxx - I'm providing a valid value just masking it on here)
I am getting a response as
{
"destination_addresses" : [ "Plano, TX 75024, USA" ],
"origin_addresses" : [ "Coppell, TX 75019, USA" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "13.4 mi",
"value" : 21636
},
"duration" : {
"text" : "14 mins",
"value" : 833
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
But I'm unable to correlate the req and response as the response is missing the long/lat, How do I solve this issue?
Per official documentation: DistanceMatrix service does not include lat/lng element in response. See all available elements here: https://developers.google.com/maps/documentation/distance-matrix/intro#DistanceMatrixResponses
Nonetheless, looking at your request, it appears that you already supplied lat/lng in your input. On the other hand if you supplied address as origins/destinations and aiming to extract the corresponding coordinates, then you can simply do forward Geocode afterwards.

JSON: Can't place ObjectIds of my mongodb database into mLab collection online

So I would like to add the data of my database on my computer to mlab database online. I copied the data (which I assumed was JSON) and tried to paste it into the collection in my mlab database.
Now, the problem is that the ObjectIds in my database are causing an error because it is not valid JSON. Does anyone know how to fix this?
Example document
{
"_id" : ObjectId("5a8ae78844a5ba0d448a4cf7"),
"ratings" : [],
"reviews" : [],
"title" : "The Shape of Water",
"director" : "Guillermo Del Toro",
"length" : 123,
"genre" : "Drama",
"description" : "At a top secret research facility in the 1960s, a lonely janitor forms a unique relationship with an amphibious creature that is being held in captivity.",
"actors" : "French chick, Fish Dude",
"year" : 2018,
"pictureUrl" : "https://media.pathe.nl/nocropthumb/620x955/gfx_content/other/api/filmdepot/v1/movie/download/23452_94164_ps_sd-high.jpg",
"__v" : 18,
"averageRating" : 4
}
Mlab Error
JSON Validation Error close We encountered an error while parsing your
JSON. Please check your syntax (e.g. ensure you are using double
quotes around both your field names and values) and try again.
I tested the code in JSON lint and it gave me this error:
Error: Parse error on line 2:
{ "_id": ObjectId("5a69cc1f90
---------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'
The data editor on mLab uses strict MongoDB Extended JSON. See here for details: docs.mongodb.com/manual/reference/mongodb-extended-json
In strict MongoDB Extended JSON ObjectId("<id>") needs to be { "$oid": "<id>" }. Try this:
{
"_id" : {
"$oid": "5a8ae78844a5ba0d448a4cf7"
},
"ratings" : [],
"reviews" : [],
"title" : "The Shape of Water",
"director" : "Guillermo Del Toro",
"length" : 123,
"genre" : "Drama",
"description" : "At a top secret research facility in the 1960s, a lonely janitor forms a unique relationship with an amphibious creature that is being held in captivity.",
"actors" : "French chick, Fish Dude",
"year" : 2018,
"pictureUrl" : "https://media.pathe.nl/nocropthumb/620x955/gfx_content/other/api/filmdepot/v1/movie/download/23452_94164_ps_sd-high.jpg",
"__v" : 18,
"averageRating" : 4
}

Translating engine gives same guids & viewableIDs to diferrent files of complex model

Recently I was trying to implement scenario where I could link views in 3D viewer with views on original revit model.
I zipped linked files and upload them
Upload more times same zip file with changed rootFileName to provide all aspects of a model and translate all
download their manifest.jsons
link views on revit side with view in the viewer using viewableID and uniqueID of original revit view
In here I will provide real shortened examples of manifest outputs
eg file 1.
{
"guid" : "578dd62c-d5dc-8da0-1c75-aa6b0be8ba76",
"name" : "3D pohled",
"success" : "100%",
"hasThumbnail" : "true",
"status" : "success",
"type" : "folder",
"progress" : "complete",
"children" : [{
"guid" : "07e30540-b182-cd58-1c1f-eb46bc58fb9c",
"name" : "{3D}",
"success" : "100%",
"size" : 771479.0,
"hasThumbnail" : "true",
"role" : "3d",
"viewableID" : "8af1141e-a7ca-22b4-d104-d7331a1c0454",
"status" : "success",
"type" : "geometry",
"progress" : "complete",
"children" : [{
"guid" : "429ba882-f0a0-40fa-96e6-c6e02d9fc601-00022cda",
"name" : "{3D}",
"role" : "3d",
"camera" : [22586.240234, 40687.59375, 32810.621094, 54.133858, -29.527559, 16437.923828, -0.160696, -0.29039, 0.943319, 0.547078, 0, 1, 1],
"status" : "success",
"type" : "view",
"progress" : "complete"
}, {
"guid" : "9a3b544b-3c15-9304-f6f8-2c4db7a7dcb3",
"type" : "resource",
"role" : "graphics",
"urn" : "urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGVzdGJfMTIzZWUvRkhfRmFzJUMzJUExZGFfdi4wMS56aXA/output/Resource/3D_pohled/_3D_/_3D_.svf",
"mime" : "application/autodesk-svf",
"size" : 680482.0
}
]
}
]
}
eg. file 2
{
"guid" : "578dd62c-d5dc-8da0-1c75-aa6b0be8ba76",
"name" : "3D pohled",
"success" : "100%",
"hasThumbnail" : "true",
"status" : "success",
"type" : "folder",
"progress" : "complete",
"children" : [{
"guid" : "07e30540-b182-cd58-1c1f-eb46bc58fb9c",
"name" : "{3D}",
"success" : "100%",
"size" : 7648740.0,
"hasThumbnail" : "true",
"role" : "3d",
"viewableID" : "8af1141e-a7ca-22b4-d104-d7331a1c0454",
"status" : "success",
"type" : "geometry",
"progress" : "complete",
"children" : [{
"guid" : "429ba882-f0a0-40fa-96e6-c6e02d9fc601-00022cda",
"name" : "{3D}",
"role" : "3d",
"camera" : [40927.800781, 19529.832031, 36075.765625, 54.958988, -27.723097, 16418.119141, -0.359014, -0.171787, 0.917387, 0.320998, 0, 1, 1],
"status" : "success",
"type" : "view",
"progress" : "complete"
}, {
"guid" : "9a3b544b-3c15-9304-f6f8-2c4db7a7dcb3",
"type" : "resource",
"role" : "graphics",
"urn" : "urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGVzdGJfMTIzZWUvRkhfVFpCX1ZaVC56aXA/output/Resource/3D_pohled/_3D_/_3D_.svf",
"mime" : "application/autodesk-svf",
"size" : 7552662.0
}
]
}
]
}
as you see each time URN of file is different, still viewableID and guids are the same. This is not suppose to happen and represents a real problem when working with the information. In manifest.json is also missing information about original revit guid(uniqueid) from which view it was generated, which is needed to uniqely identify view on revit side.
I think it is a bug and needs to be solved and also adding revit view guid into output manifest would help a lot. Because name property is not unique enough, the other guids has no practical use.
Any help would be greatly appreciated
The ids will be the same if they are translated from the same file (i.e. the unique ID used by Revit on its views), regardless the file name. So if you have a .rvt with a view, duplicate this file with different name, translate them both, they will have the same id on that view.
EDIT October 17, 2016
We have updated the translation engine in 9/26/2016 and the viewableID in the bubble is the same as the UniqueId of a Revit View, for both 3d and 2d. That way you can use the viewableId to implement your feature feature.
It is reasonably well known that Revit elements' "unique" ids are not, in fact, true GUIDs. Two copies of a file will have exactly the same "unique" ids for the elements in those files (they are not re-generated on a save-as operation). The purpose of the Unique id in Revit was to provide a mechanism to facilitate worksharing where element ids are not "stable" and may change during a reload latest event where element ids from the central conflict with local Element Ids.
Here is some information from The Building Coder about this topic:
http://thebuildingcoder.typepad.com/blog/2014/04/element-id-export-unique-navisworks-and-other-ids.html#3
In terms of your specific question: "How can i identify, uniquely, the views in revit when traversing manifest.json?" I would suggest that you might (if you have the ability) add the Revit filename as part of the name of the exported view which you have uploaded and translated. Tease that back out of the URN to determine which view you actually have.
If that doesn't work, maybe you could help us better understand this statement:
Upload more times same zip file with changed rootFileName to provide all aspects of a model and translate all
what is this attempting to achieve? different implementations on the viewer side of the same view data? And if so, maybe you can tell us more about exactly what you're trying to ultimately achieve and we can offer some more specific suggestions.

How to get JSON from URL in Google App Engine Java

I want to get json from url in google app engine, can u tell me some quite simple methods to do this, thanks, sr my english not good
URL
Content:
{
"debug_info" : [],
"html_attributions" : [ "Listings by \u003ca href=\"http://www.diadiem.com/\"\u003eDiadiem.com\u003c/a\u003e" ],
"next_page_token" : "ClRMAAAAl7MjfntXhFEi33IPPcZJJ5fYfiJzIIGggr9Xc6A_sKeTrjohJntaaG1jWaGYMKiZYruuoqTVipUZFaLhpNXZbhYloN6SeS44epx3lPRdpuMSEHWJTSO2ShwXOz6bjg0xefcaFOUN9wK6NE5Dykjx-x-VLypkBMRH",
"results" : [
{
"geometry" : {
"location" : {
"lat" : 16.058660,
"lng" : 108.2191410
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "7064cb3f44db62207fc2bd83579b63ca9552e658",
"name" : "Vietcombank - Atm",
"reference" : "CnRwAAAAHU3y6j7CocExwcFq6DKtkS2SFT-0X23E7C9M7bpHk2EF04ShIX7IRNl9TwGF_APSwaKmk8XSZIGm52ajXnpKhj15i48w0BHmJR0ZamJdIAi3iJD_sExjjHkf5Lnfxq4iLroTAmQyRAoAVG7dMwVeTRIQcO_Qq9N85d96vQCtEdZjyRoUbETiZPHxkSjkbD9CVnQh6N_8yUA",
"types" : [ "establishment" ],
"vicinity" : "272 Phan Châu Trinh"
},
{
"geometry" : {
"location" : {
"lat" : 16.0602490,
"lng" : 108.21470
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "bd20b9fbd718c13ee3f6d404c3004b649130df4a",
"name" : "ATM DongA Bank",
"reference" : "CnRtAAAAP9XTDfjgtqvahglz24j2posRRCR9ry56xyAd0FX810ZeyiKWeEi4Btfnfycb23Sa6x_grdjJszB7Xf80jFBrer9kHYQHsKX2-spx9LHn_yrZxlfC7wxHOdUt9YbYMp71fzQ_SJOC9W1Hj2cHHi9g0BIQPrdWzJvelD1NDEcC49Q8eRoUE0juanyzeZHjyYbnozUGB13RySk",
"types" : [ "atm", "finance", "establishment" ],
"vicinity" : "Nguyễn Văn Linh, Da Nang"
},
Not sure if I got your question correctly, but if you are trying to parse Google's JSON response, a good and easy way to do it may be to use jQuery parseJSON function.
You can also take a look at this answered question to see sample code.
Also, not explicitly stated in the "answered question" link above - you cannot just access the json (or xml) from within your web page code even though you can use the url manually in a browser to get the json data (as it seems you have done in your post). There are various security aspects and Google will not even send the data requested that way (I believe it is call cross-site-scripting - Google it for more details). It has to go - as in the example linked above, from you web page to your server, have the server do the request to Google to get the data, have the server then post this back to your site/ web page (through AJAX or just a new page - however you are doing things on your site).
That's the sloppy and non-technical, but I wasted all day Sunday trying to get around this until I understood the issue and what I was supposed to (and had to do). This might not be what you are referring to but I think it may indeed be. If so I hope it helps. Cheers