I'm implementing the Google Maps Geolocation API as explained here. https://developers.google.com/maps/documentation/business/geolocation/
The problem is my server is implemented in delphi and using https is quite complex,
is there a way to use this API in plain http?
I know there are some security issues, but this feature in particular will only exists in a cache subsystem where no sensitive data is ever send or stored.
Related
I have been working with the sheets API for some time. I am aware of libraries such as the this one: https://www.npmjs.com/package/google-spreadsheet
This is written in Javascript, but obviously meant to be used server side. However, my question is this: Is there a secure way to connect to a sheet I own via the front-end? I am aware of services like Sheetsu, but don't really understand how they can guarantee the security of the service account credentials.
Time ago I searched informations about the integration of youtube into an ios application.
Now I need to do this again so I started looking for information on google.
After a short time are already confused.
Can I use this iOS youtube sample
or have I to use YouTube Data API (v3)?
And this?
Short answer:
The API refers to the HTTP interface for consuming Google's funcionality.
One can use these APIs by issuing HTTP requests directly, according to the
specification of the API, or by using one of the client libraries. The client libraries are a layer on top of HTTP that issue the HTTP requests and parse the responses. They give a simpler interface for invoking the API (e.g. using standard function calls in the given programming language rather than building HTTP requests) and they also simplify a lot of the complex parts such as authentication, refreshing tokens, etc.
Long answer:
An application programming interface or API is the "contract" between a provider of some functionality and the consumer of some functionality that allows both the provider and consumer of that functionality to interoperate without knowledge of the underlying implementation of the other party. This "contract" includes such things as the number and types of the inputs, the names of the inputs (if it is required to invoke the functionality), any constraints on the inputs, the expected outputs, any constraints on the outputs, failure modes, etc.
Google provides a number of HTTP-based APIs for accessing functionality from its services. Its services implement these APIs, which are consumed by issuing HTTP requests and reading the HTTP responses. HTTP is a convenient protocol to implement, because every device and language can speak HTTP; however, it is not always the most convenient to use as a developer. In many cases, the inputs and outputs you want are objects, not HTTP requests and HTTP responses. And, in many cases, matching function signatures in the language of your choosing and type-checking of inputs is more convenient than memorizing the HTTP request paths or manually serializing/deserializing your objects to HTTP requests or content sent within the request. That is where the client libraries come in. Whereas the HTTP APIs are implemented on Google's servers, the client libraries are libraries that developers include in their application and are distributed to the devices on which those applications run. The client libraries issue the HTTP requests and interpret the responses, and provide a more convenient programming language-specific wrapper, for a variety of different programming languages.
The data API link that you provided is documenting the HTTP-based API. Whereas the sample application is using the client library (which is invoking the HTTP-based API under the hood). The last link you provided, the cloud endpoints for iOS is unrelated to what you are trying to do; it is documenting a mechanism called Cloud Endpoints, a feature of App Engine, that allows developers to create their own HTTP APIs using Google's infrastructure and to auto-generate client libraries that wrap these HTTP APIs (much as Google auto-generates the client libraries for its own HTTP APIs).
Here's a sample app you can get started to build YouTube APIs on iOS.
Also there is an helper library to play YT videos in iOS.
It's now trivial to create a web app that sits atop Parse.com. Now that I have this webapp, I want to expose parts of it to other developers via an oauth accesible api. So, they can develop an app that lets my site users 'give them permission' via oauth and they can now access the api.
How would I start going about doing this?
Update: After #Mubix response, I felt the following clarification would help
Currently I am accessing Parse from the server via a REST api, to get around any javascript security issues re:api keys etc. So, the api would be served of a server other than Parse. Also, the server code is in javascript / nodejs. I came across https://github.com/jaredhanson/oauth2orize which seems a likely candidate, was wondering how others are doing it and if anyone has actually gone a further step and integrated Parse access.
Hmmm .. Intereesting question!
Legal:
First of all their ToS doesn't seem to prohibit what you are trying to do but you should read it carefully before you start.
Implementation:
While parse doesn't provide feature to build your own APIs you could implement something yourself. You could treat the third party developers as users of your app. And you can use the ACL to control access.
Problems:
I don't see any way to implement oAuth entirely within parse.
How will third party apps access your API? Ideally you would like them to use a REST interface but with the parse.com REST API you won't be able to manage access to different parts of your data.
Conclusion:
It seems like too much trouble to implement the API entirely within parse. I would suggest that you write a thin API layer that takes care of auth and uses parse as the backend. You can use one of the service side libraries available for parse. eg. PHP Library, Node Parse.
I would like to know if someone has got documentation about the Google Maps API, I'm only looking for the traffic live information I would like to implement it on my iOS application.
Does such an API exist?
I don't think Google offers a standlone traffic API as of now. However there are a couple options.
Render the Google Maps element in a WebView and use the Google JavaScript API to enable the traffic layer. The downside of this approach is that the UX likely wont be as nice as native programming. The upside is less coding.
http://code.google.com/apis/maps/documentation/javascript/
http://code.google.com/apis/maps/documentation/javascript/reference.html#TrafficLayer
Call another traffic provider's REST API and overlay on top of the native iOS map component. This overlay is pretty straightforward through code if you get a KML response. The two I know of are MapQuest (yes, they are still around!) and Yahoo (though their API is in transition now).
http://www.mapquestapi.com/traffic/
http://developer.yahoo.com/traffic/rest/V1/index.html
I'd like to use the Google geolocation API in my app, written in Python. My problem is that Google provides a JSON interface (easily useable from Python) but from http://code.google.com/p/gears/wiki/GeolocationAPI I see that the API "is published to allow developers to provide their own network location server for use through the Gears API. Google's network location server is only to be used through the Gears API. See section 5.3 of the Gears Terms of Service at [address]."
It is a very strange thing: there is a very cool JSON but I cannot use it. I have to use it through Google Gears instead. But how can I do it from a Python app?
For example, I see that the geolocation service provided by Firefox calls directly the JSON API. Why is FF able to do that?
Thanks,
Alessio Palmero Aprosio
Google has deprecated Gears entirely, as the geolocation feature is now standard in modern browsers (for certain values of "standard").
The pylocation module may provide the information you need. It can output the geolocation data in text, json, or xml.