45

我目前正在构建测试并尝试获取 google+ 用户位置。我正在对自己进行测试,并将我的立场公之于众。

我最初打算使用 Google Latitude,但是,由于 Google 几天后将弃用此 API,我唯一的选择是使用 Google+ API。

参数currentLocation 是几个月前添加的

因此,我试图得到它。但无法做到。

我已经在我自己的服务器上使用 PHP API 进行了测试,然后使用了 Oauth2.0 的 JS API,但是这个该死的参数永远不会被发回。我可以得到任何其他参数,但绝对不是那个。

然后我在 google+ explorer 中测试过,但同样的事情,没有任何结果

有没有人遇到过类似的问题?

我知道它可能来自哪里:

  1. Oauth2.0 是否不允许我访问此信息(我尝试了任何可能的数据范围)
  2. 这个功能是否只有一个错误?
  3. 它仅限于经过验证的用户吗?
  4. 或者也许这是不可能的?

谢谢 !

4

3 回答 3

1

对位置数据的访问仅限于在生成 OAuth 令牌时已授予您访问其位置数据的权限的用户。

您必须在范围参数中专门请求访问位置数据。

于 2014-01-09T00:00:22.703 回答
0

我认为 r.placesLived 只会给出他的位置,但会给出用户的位置,也不会给出确切机器的位置。可以记住,您需要有地址。但是,它需要寻找另一个令牌来验证用户的确切位置。进入它可能只需要更多的跟踪器,而不仅仅是一个位置。

于 2015-01-26T08:09:37.567 回答
0

这是一个古老但仍然有效的问题。即使字段“currentLocation”被列为有效的响应人员对象字段,也无法访问字段的数据。

在G+ 存储库中被报告为问题,但到目前为止还没有答案。

如果您仍在尝试获取用户的当前位置,请尝试以下代码段,不确定这是否是最佳选择,但它有效:):

注意:“r”保存 client.request() 响应数据(API 调用)

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

希望这可以帮助。干杯。

于 2014-10-16T00:20:26.193 回答