Google+ API : Get Profile's currentLocation

此生再无相见时 提交于 2019-12-31 08:34:09

问题


I'm currently building a test and trying to get a google+ user location. I'm testing on myself and have set my position to public.

I was originally planning to use Google Latitude, however, since Google is deprecating this API in a few days, my only option is to use the Google+ API.

The parameter currentLocation was added a few months ago

I'm therefore trying to get it. But could not manage to do it.

I've tested on my own server using the PHP API and then the JS API with Oauth2.0, but this damn parameter is never sent back. I can get any other parameter but definitely not that one.

Then I've tested in the google+ explorer, but same thing here, nothing came out

Does anyone have already encounter a similar issue ?

I have a few idea where it could come from :

  1. Does Oauth2.0 does not let me access this information (I've tried any possible data-scope)
  2. Is there just a bug on this functionality ?
  3. Is it restricted to verified users ?
  4. Or maybe it's just not possible ?

Thanks !


回答1:


Access to location data is restricted to users who have granted you access to their location data at the time that the OAuth token was generated.

You have to specifically request access to location data in the scope parameter.




回答2:


What I think is that r.placesLived would only give his location but the location of the user nor the location of the exact machine. It could be remembered that you need to have the address. However, it needs to look for another token for verifying a user's exact location. Going into it might only need more of a tracker and not only a location.




回答3:


This is an old one but still valid question. Even field "currentLocation" is listed as valid reponse People object field, there´s no way to access field´s data.

Was reported as issue in G+ repository but there is no answer so far.

If you are still trying to get user´s current location try the following snippet, not sure if this is the best option but it works :):

Note: "r" holds the client.request() response data (API call)

r.placesLived.forEach(function(l) {
   if (l.primary) 
    console.log(l.value);
});

Hope this helps. Cheers.



来源:https://stackoverflow.com/questions/17974426/google-api-get-profiles-currentlocation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!