Вы просто добавьте эту строку в ваш scope
Откройте Application.cfc
, а затем добавить этот код изменения scope = "https://www.googleapis.com/auth/analytics.readonly"
с scope = "https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile
вы можете просто добавить scope = "https://www.googleapis.com/auth/userinfo.profile
, но если и хотите получить доступ к электронной почте затем добавить второй, как я отправляю в мой ответ.
<cfset request.oauthSettings =
{scope = "https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile",
client_id = "Your-id",
client_secret = "your-secret",
redirect_uri = "redirect-page",
state = "optional"} />
Теперь вы можете получить информацию от пользователя функции, которые можно назвать как этого
<cfscript>
public function getProfile(accesstoken) {
var h = new com.adobe.coldfusion.http();
h.setURL("https://www.googleapis.com/oauth2/v1/userinfo");
h.setMethod("get");
h.addParam(type="header",name="Authorization",value="OAuth #accesstoken#");
h.addParam(type="header",name="GData-Version",value="3");
h.setResolveURL(true);
var result = h.send().getPrefix();
return deserializeJSON(result.filecontent.toString());
}
</cfscript>
<cfoutput>
<cfset show = getProfile(session.ga_accessToken)>
<cfdump var="#show#">
</cfoutput>
Надеется, что это поможет вам.
сбрасывает всю область сеанса и видит, что на самом деле есть. –
Весь мой сеанс находится в 'session.profilesArray'. Разве это не в этом? –
profilesArray - это не весь сеанс. ' ' –