我正在使用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?
答案 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。