如何从Google AnalyticsAPI获取用户名?

时间:2015-07-06 09:43:15

标签: google-analytics google-analytics-api

我正在使用Google AnalyticsAPI和SDK。登录用户后,我想显示他的名字。相反,当我呼叫用户的广告帐户时,API只返回没有显示名称的电子邮件。我正在使用https://www.googleapis.com/auth/analytics.edit范围。

这是我得到的:

object(Google_Service_Analytics_Accounts)[86]
  protected 'collection_key' => string 'items' (length=5)
  protected 'internal_gapi_mappings' => ...
  protected 'itemsType' => string 'Google_Service_Analytics_Account' (length=32)
  protected 'itemsDataType' => string 'array' (length=5)
  public 'itemsPerPage' => int 1000
  public 'kind' => string 'analytics#accounts' (length=18)
  public 'nextLink' => null
  public 'previousLink' => null
  public 'startIndex' => int 1
  public 'totalResults' => int 2
  public 'username' => string 'me@gmail.com' (length=12)
  protected 'modelData' => ...
  protected 'processed' => ...

如何获取用户名?我是否需要使用其他一些Google API?

1 个答案:

答案 0 :(得分:3)

不幸的是,Google AnalyticsAPI无法访问有关该电子邮件之外的用户的信息。

即使您检查Account users list,它也不会返回用户名称:

 "userRef": {
    "kind": "analytics#userRef",
    "id": "117200475532672775346",
    "email": "xxx@gmail.com"
   },

选项是添加属于Google+ API的profile范围。然后,您就可以使用people.get了。只需添加me作为用户ID,它就会返回当前经过身份验证的人员的个人资料信息:

 "objectType": "person",
 "id": "117200475532672775346",
 "displayName": "Linda Lawton",
 "name": {
  "familyName": "Lawton",
  "givenName": "Linda"
 },

或者我猜您可以从Google Analytics帐户请求中获取该ID。它们似乎是同一个id。