The Google Maps Geolocation API and node-red - geolocation

I have created a simple flow in node-red to get the location. I have an http request node in which the URL is of google maps API location. The result is produced on the debug node but it is not that accurate. Accuracy is 9379.0. What doesit mean. Is there a better service or way to get the current geo-location.

Related

Trying to get detailed data dumps from new google nest e thermostat

I bought a nest thermostat as I thought it would be able to give me detailed data to showing the target temp and the actual as well as time etc. I needed this for various reasons.
However, it seems the official API "Works with Nest" was closed by Google. I've been able to get postman to ping the same location that the Google Nest Webapp hits and get back the data I need. I want to create a simple webapp to keep polling and save the data locally. However, I'm unable to find the OAuth Client Secret that the Nest Webapp uses to get the authorization code. I had to login via the webapp to get the code in one of the request and then test it out using postman.
Is there any other API that will allow my to poll this data for my Nest easier?
If there isn't another API, is there a way to get the Client ID and Client Secret form the Nest Webapp so I can drop that in mine to use? (I know its hacky, but am I think I'm out of options)

How to fetch Youtube public channel stats without authentication

I am trying to fetch metrics like views, likes, dislikes for videos in some popular public Youtube channels and also subscription information of the Channelsa on a daily basis. Also, country wise stats and gender wise stats for the channels required. But, Youtube Reporting API always prompts authentication. Is there any way to fetch those metrics for public Youtube channels without user authentication?(https://www.googleapis.com/youtube/analytics/v1/reports - need to use this API). Your suggestions will be very helpful.
For some of read-only requests you can just use access token without need to authorize. Check the documentation. Each request's documentation tells if authorization is needed.
The API you linked to is part of the "YouTube Analytics and Reporting APIs", which is split up in these very two pieces - analytics and reporting. I don't see why you need to use this exact API, but I can tell you that you won't succeed with it. This API is intended for channel owners and network owners to get information about their own channels. You absolutely have to authenticate via OAuth in order to use it, there is no way around this.
In order to get video and channel metrics, you can consult the YouTube Data API. Here, an API key from the Google Cloud Console will let you fetch any public data without further authentication. But it will not provide you with data records in specific periods of time, it always returns the current values of the requested properties.
In other words: what you are asking is, as far as I know, impossible to achieve with any official YouTube API.
A workaround for your problem would be to fetch the desired properties via the Data API on a, say, daily basis and compare their values to the previous day's values and calculate the delta.

Build a graph with Twitter stream and query using Apache Flink

I listen to Twitter stream and successful with extracting data I want from tweets. Now I want to keep building a graph with the extracted info, like
(user)--[tweets]-->(tweet)
(tweet)--[mentions]-->(user)
(tweet)--[tagged]-->(hashtag)
While this graph keep building over the time, I want to run queries over this graph. How can I do this with Apache Flink?
With some more digging in to the forums and JIRA, I found gelly-streaming matching my needs.
With it, we can do create a GraphStream,
GraphStream<Long, NullValue, NullValue> graph = new SimpleEdgeStream<>(getEdgesDataSet(env), env);
Examples : https://github.com/vasia/gelly-streaming/tree/master/src/main/java/org/apache/flink/graph/streaming/example
Here are some other relevant links.
On Apache Flink mailing list : http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Graph-with-stream-of-updates-td5166.html
Vasia Kalavri's talk on Graphs as Streams: https://berlinbuzzwords.de/session/graphs-streams-rethinking-graph-processing-streaming-era

Service which will return client timezone on http request

I would like to set automatically timezone on my Arduino with ethernet card. So I'd like to know if there is the service which can return client timezone on http request.
Since you have nothing but the IP address, then the only possibility is to guess at the location via IP geolocation. For example, you could use ipinfo.io, or freegeoip.net, or any number of other sources. (A Google search for "IP Geolocation" will show many results).
Of course, IP Geolocation isn't all that accurate, and you may have many incorrect results. If your device has GPS or some other source of location data, that would be much more accurate than IP Geolocation.
Once you have a latitude and longitude, you can call one of the API's listed here to return the time zone.

Geolocation - How Does it Work?

I am using a script bought from Code Canyon (a weather script) and the script uses MaxMind GeoIP Javascript Web Service to determine my users current location. The question I have is how does MaxMind (or other geolocation services) determine the location?
When it determines my location it is on average about 30 miles away from my actual city. Why and how does it determine the location being there and not closer? I assume this has to do with my ISP and my ISP routing. Is this correct?
The location it is showing you is the location of your internet server.
If you are using the geolocation code which uses your ip address to get the current location then it will show the location of your host server.
Your ISP assigns you an IP when connecting. Obviously, the ISP bought that IP at one point, and the geolocation service you are using has an entry for it, in this case, a data center of your ISP.

Resources