2014-02-06 68 views
1

我正在将this tutorial应用到symfony 2.4中,我完成了config.yml和所有设置中的设置,我设法访问了admin/google/analytics页面,但问题是当我尝试使用我在config.yml文件中创建的参数进行身份验证,它正在搜索范围,这里是参数。没有指定范围 - Google_Auth_Exception

happy_r_google_analytics: 
    host: www.example.com 
    profile_id: MyProfileId 
    tracker_id: UA-TRACKER-ID 
    token_file_path: %kernel.root_dir%/var/storage 
happy_r_google_api: 
    application_name: Project Default Service Account 
    oauth2_client_id: OAuthClientID 
    oauth2_client_secret: OAuthClientSecret 
    oauth2_redirect_uri: http://www.example.com/app_local.php/admin/google/analytics/oauth2callback 
    developer_key: DevelopperKey 
    site_name: http://www.example.com 

我认为这里没有问题,我没有想法,我可以设置范围,所以,谷歌API客户端可以将其设置为https://www.googleapis.com/auth/analytics.readonly

回答

4

您需要定义范围。如果您使用Google身份验证,请检查Authorization scopes

你必须做一些事情,如:

$googleClient = new \Google_Client(); 
    $googleClient->setScopes(array(
     'https://www.googleapis.com/auth/plus.me', 
     'https://www.googleapis.com/auth/userinfo.email', 
     'https://www.googleapis.com/auth/userinfo.profile', 
    )); 
+0

我想实现一个服务器到服务器的OAuth2我觉得范围必须不从。我只会找到关于如何获得分析数据的其他教程,您的答案对于实现Web应用程序的人员,服务器到服务器的服务帐户是正确的,但在symfony中很难实现。 – Cedric

+0

也许你最好试着用控制器或服务手动实现它,不要使用供应商捆绑包? –

+1

经过长时间的研究后,我遇到了Google Analytics的GAPI,我已经将它创建为我的包的一个对象,并在我的控制器中调用它,所以我想我现在将离开供应商包。干杯! – Cedric