Comments (16)
Sneaky devil! Or is it 2,500?
from pinpoint.
https://github.com/clburlison/pinpoint/wiki#google-geocoding-api :P
from pinpoint.
2,500 it is then!
Sent from my iPhone
On Mar 8, 2016, at 6:18 PM, Clayton Burlison [email protected] wrote:
https://github.com/clburlison/pinpoint/wiki#google-geocoding-api :P
—
Reply to this email directly or view it on GitHub.
from pinpoint.
On more thinking...this seems redundant to another feature that was included with #4.
See commit 6d23be5#diff-9cee2e349b1920be4296162259506b00R131 the check_wait_period()
function.
With that change by default pinpoint will only run once every ~30min. So it should only run 48 times which is way under the limit.
No issue writing more code, but does it solve anything?
from pinpoint.
Let's say 50 for easy math. Wouldn't that be limited to 50 machines per day?
Sent from my iPhone
On Mar 8, 2016, at 6:27 PM, Clayton Burlison [email protected] wrote:
On more thinking...this seems redundant to another feature that was included with #4.
See commit 6d23be5#diff-9cee2e349b1920be4296162259506b00R131 the check_wait_period() function.
Which that change by default pinpoint will only run once ever ~30min. With that it should only run 48 times per day which is way under the limit.
No issue writing more code, but does it solve anything?
—
Reply to this email directly or view it on GitHub.
from pinpoint.
Wouldn't that be limited to 50 machines per day?
Yes.
Your actual request is checking with Google to see if you are about to go over the limit. I'm not actual sure if that is do-able. This isn't exposed when you are using the free service, it might be doable if we included an optional API key. This entire request not even be worth my time... due to issue #2
Apple seems to not have a hard limit and if so it isn't publicly posted anywhere. Seeing as how we are already limiting this with the check_wait_period()
function I doubt even a large fleet would hit that (hypothetical) limit.
As far as I'm concerned this type of request is the same as a lookup from the Maps.app so there very well might not be a limit if I can do this with the Geocoder from CoreLocation.
from pinpoint.
I agree with your thoughts. If Apple's API is less restrictive, your time is much better suited working on that.
I will send you some other thoughts in a PM.
Sent from my iPhone
On Mar 8, 2016, at 7:12 PM, Clayton Burlison [email protected] wrote:
Wouldn't that be limited to 50 machines per day?
Yes.
Your actual request is checking with Google to see if you are about to go over the limit. I'm not actual sure if that is do-able. This isn't exposed when you are using the free service, it might be doable if we included an optional API key. This entire request not even be worth my time... due to issue #2
Apple seems to not have a hard limit and if so it isn't publicly posted anywhere. Seeing as how we are already limiting this with the check_wait_period() function I doubt even a large fleet would hit that (hypothetical) limit.
As far as I'm concerned this type of request is the same as a lookup from the Maps.app so there very well might not be a limit if I can do this with the Geocoder from CoreLocation.
—
Reply to this email directly or view it on GitHub.
from pinpoint.
Hey Clayton!
Thanks again for this! My concern is similar to Erik's - if I have a fleet of 715 Macs (and growing), should I hold off from deploying this to every machine? The impression that I get is that each Mac does its own lookups, so the 2,500 limit is per-machine - not 2,500 requests for my lone MunkiReport server.
Assuming the API limit is per-machine...each Mac on our network has a unique IP address, so unless Google decides to ban our entire IP block, I think we're okay. Admins that use NAT might need to be more careful.
I'm really excited to use this, but want to make sure I don't upset Google. :)
Mike
from pinpoint.
https://developers.google.com/maps/articles/geocodestrat#client
Is it possible to send the geolocation data only and then render it during the MR-PHP page view? We would lose the ability to see all the pins everywhere, but that would significantly reduce the hits per day.
On Mar 8, 2016, at 7:24 PM, Mike Solin [email protected] wrote:
Hey Clayton!
Thanks again for this! My concern is similar to Erik's - if I have a fleet of 715 Macs (and growing), should I hold off from deploying this to every machine? The impression that I get is that each Mac does its own lookups, so the 2,500 limit is per-machine - not 2,500 requests for my lone MunkiReport server.
Assuming the API limit is per-machine...each Mac on our network has a unique IP address, so unless Google decides to ban our entire IP block, I think we're okay. Admins that use NAT might need to be more careful.
I'm really excited to use this, but want to make sure I don't upset Google. :)
Mike
—
Reply to this email directly or view it on GitHub.
from pinpoint.
Still in class so I'll update fully later however in case it isn't obvious - I'm doing a call out to Google for one thing...Reverse geocoding to resolve 37.332112,-122.0329646
to Infinite Loop, Cupertino, CA 95014.
This can be disabled with the AddressLookup
key https://github.com/clburlison/pinpoint/wiki/Preferences#supported-keys.
Munkireport will still fully function with the AddressLookup disabled. MR does the drawing of the maps, and placement of the pins based of the geo-cords.
from pinpoint.
May have found a EULA issue.
https://www.google.com/work/mapsearth/products/mapsapi.html
The Google Maps APIs Standard Plan allows you to pay for uplifts above free usage limits for individual Maps APIs. The Standard Plan can be used for free, external, and publicly available implementations. Your service must be freely and publicly accessible to end users.
Sent from my iPhone
On Mar 8, 2016, at 7:49 PM, Clayton Burlison [email protected] wrote:
Still in class so I'll update fully later however in case it isn't obvious - I'm doing a call out to Google for one thing...Reverse geocoding to resolve 37.332112,-122.0329646 to Infinite Loop, Cupertino, CA 95014.
This can be disabled with the AddressLookup key https://github.com/clburlison/pinpoint/wiki/Preferences#supported-keys.
Munkireport will still fully function with the AddressLookup disabled. MR does the drawing of the maps, and placement of the pins based of the geo-cords.
—
Reply to this email directly or view it on GitHub.
from pinpoint.
Oh cool. So, if I disable AddressLookup
, none of the clients will contact Google at all?
That'd be a decent workaround for the API limit.
from pinpoint.
Interestingly enough, this API limit is 100,000 per day.
from pinpoint.
- Yes, I would recommend disabling the
AddressLookup
if you're concerned about the API limit. Honestly the docs on Google's APIs are spread out and confusing. The "Maps" API alone has at least 10 different doc locations. - As for how the service is counting 2,500 requests is also up for debate. I can't find a clear answer on any of those docs. My assumption is that it is based off your external IP address. I'd prefer to not blacklist my home address as a test. 😀
- If your goal is to help show Machine X is in building C this should be perfect. From my tests, CoreLocation is able to obtain a location accurate enough to determine the building I am in. (pic below)
-
Your EULA reference above is for a different section of the Map API. That deals with usage of maps/earth inside of websites/apps. I believe this to be the reference you want: https://developers.google.com/maps/terms#10-license-restrictions
Is it possible to send the geolocation data only and then render it during the MR-PHP page view? We would lose the ability to see all the pins everywhere, but that would significantly reduce the hits per day.
-
Yes, that's already how MunkiReport works, disable the reverse lookup with the
AddressLookup
key.
As far as I can tell this project and the implementation within MR are fully within the guidelines of Google's API usage terms. Even with MR being password protected a section of the term allows for this. If we were using MR as a third party and selling as a service provider, like Sal+, then we would have to use a paid API account. Even that might still not be under the terms.
Lastly, for reference when you do disable the AddressLookup
key this is the end result in MR.
If you wanted to do a reverse lookup at this point you can simply copy/paste the coordinates from the MR listing into Google Maps to obtain an estimate.
from pinpoint.
@clburlison That is perfect. Thank you so much!
from pinpoint.
This was an impossible goal (due to the technology). However, it does bring up some good conversations about using Google's geocoding service. Since Apple's GeoCoder has been implemented in #2 I'm closing this.
from pinpoint.
Related Issues (20)
- Store stale location data
- Provide sample mobileconfig profile
- Umlauts in Adress Lookup? HOT 7
- Turn off WiFi after run (if it was turned on by pinpoint) HOT 3
- Support for a post_run script
- Sierra support HOT 6
- Address is: Error Domain=kCLErrorDomain Code=2 "(null)" HOT 8
- toggle_wireless broken HOT 1
- Add python() fails on 10.12.4 HOT 1
- New LS Enable method
- High Sierra Testing HOT 8
- Location lookup via Google does not work HOT 7
- Installing on macOS 10.13.1 APFS HOT 4
- MunkiReport on High Sierra is unable to poll location from pinpoint successfully HOT 17
- Handling ssid scanning exception HOT 3
- Cleanup doc strings
- Remove FoundationPlist for prefs HOT 1
- Use CoreWLAN for wifi scanning HOT 2
- Intermittent failures with munkireport HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pinpoint.