最近,由于可执行文件损坏,我不得不重新安装 Python。这使得我们的 Python 脚本之一崩溃并出现以下错误:
\n\n\nAttributeError:模块“lib”没有属性“X509_V_FLAG_CB_ISSUER_CHECK”
\n
导致它爆炸的代码行是:
\nfrom apiclient.discovery import build\nRun Code Online (Sandbox Code Playgroud)\n我尝试 pip 卸载和 pip 升级google-api-python-client,但我可以 \xe2\x80\x99t 似乎找到有关此特定错误的任何信息。
\n无论如何,我正在尝试通过 API 调用获取Google Analytics信息。
\n以下是命令提示符错误的输出:
\nfrom apiclient.discovery import build\nRun Code Online (Sandbox Code Playgroud)\n 我想查看特定页面上的访问者数量(我有URL).我在Google Analytics中找不到输入网址的位置,以便查找此特定网页的统计信息.
我一直在使用Google AnalyticsAPI(V3)并遇到了som错误.首先,一切都设置正确,并与我的测试帐户一起使用.但是,当我想从其他个人资料ID(相同的Google Accont/GA帐户)中获取数据时,我收到403错误.奇怪的是,来自某些GA帐户的数据将返回数据,而其他帐户会生成此错误.
我已经撤销了令牌并再次进行了身份验证,现在看来我可以从我的所有帐户中获取数据.问题解决了?不.由于访问密钥将过期,我将再次遇到同样的问题.
如果我理解正确,可以使用resfreshToken来获取新的authenticationTooken.
问题是,当我跑:
$client->refreshToken(refresh_token_key)
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }'
Run Code Online (Sandbox Code Playgroud)
我检查了refreshToken方法背后的代码,并将请求追溯回"apiOAuth2.php"文件.所有参数都正确发送.grant_type在方法中被硬编码为'refresh_token',所以我很难理解什么是错的.参数数组如下所示:
Array ( [client_id] => *******-uqgau8uo1l96bd09eurdub26c9ftr2io.apps.googleusercontent.com [client_secret] => ******** [refresh_token] => 1\/lov250YQTMCC9LRQbE6yMv-FiX_Offo79UXimV8kvwY [grant_type] => refresh_token )
Run Code Online (Sandbox Code Playgroud)
程序如下.
$client = new apiClient();
$client->setClientId($config['oauth2_client_id']);
$client->setClientSecret($config['oauth2_client_secret']);
$client->setRedirectUri($config['oauth2_redirect_uri']);
$client->setScopes('https://www.googleapis.com/auth/analytics.readonly');
$client->setState('offline');
$client->setAccessToken($config['token']); // The access JSON object.
$client->refreshToken($config['refreshToken']); // Will return error here
Run Code Online (Sandbox Code Playgroud)
这是一个错误,还是我完全误解了什么?
我正在尝试制作一个服务器应用程序来定期从我自己的GA帐户中提取Google Analytics数据.请注意,它是一个访问我自己的数据的个人服务器端应用程序,即没有最终用户访问此应用程序.
因此,我在Google API控制台中将我的应用程序注册为服务应用程序,该应用程序为我提供了客户端ID和私钥.据我所知,服务应用程序不使用应用程序密钥和重定向URL,因为此服务器到服务器身份验证流程中没有最终用户.实际上,Google API控制台没有给我任何机密,也没有提示我提供重定向网址.
不幸的是,我无法弄清楚如何在Google的PHP客户端API中验证我的服务应用程序.有关于验证的Web应用程序广泛的文件与最终用户.
Google的文档表明,可以通过使用私钥对JWT请求进行签名来验证服务器到服务器.我只是无法弄清楚如何在PHP客户端API中做(虽然我浏览了源代码,但肯定有一个脚本用私钥签署请求.)
我在这里错过了什么吗?如何使用我的私钥和Google PHP客户端API对服务应用程序执行身份验证?
编辑清晰
我想使用Google的新测量协议从我的服务器而不是JavaScript发送跟踪事件.
此页面显示客户端ID是必需的:https: //developers.google.com/analytics/devguides/collection/protocol/v1/devguide#required
此页面说明它是可选的:https: //developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor
另外,这些文档中定义的格式不同 - 第一页给出一个整数作为示例,只是说它是"一个唯一值",而第二个链接表示它应该是一个UUID.
如果我在后端发送用户ID或生成的UUID,Google会如何知道将该访问者链接到现有的访问者会话?好像我需要检索GA对现有用户的内部引用.
任何帮助表示赞赏 - 谢谢!
我相信就在今天谷歌发布了他们的iOS Analytics框架工作(3.0版)的新更新.当我按照说明并尝试运行代码时,我得到:
对于架构的ARMv7未定义的符号: "_inflate",从引用:在libGoogleAnalyticsServices.a(NSData的+ zlib.o) "_deflate",L002从参照:L001在libGoogleAnalyticsServices.a(NSData的+ zlib.o) " inflateInit2 ",从参考:lib00GoogleAnalyticsServices.a(NSData + zlib.o)中的l002"_deflateEnd",引自:libGoogleAnalyticsServices.a中的l001(NSData + zlib.o)"_ OBJC_CLASS _ $ _ ASIdentifierManager",引用自:libGoogleAnalyticsServices.a中的objc-class-ref (TAGAdvertiserId.o)libGoogleAnalyticsServices.a中的objc-class-ref(TAGAdvertisingTrackingEnabledMacro.o)libGoogleAnalyticsServices.a(TAGMobileAdwordsUniqueIdMacro.o)中的objc-class-ref
"_inflateEnd",引自:liboogleAnalyticsServices.a中的l002(NSData + zlib. o)"_SCNetworkReachabilityCreateWithName",引自:libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)l002(TAGNetReachability.o)"_SCNetworkReachabilitySetCallback",引自:libGoogleAnalyt中的l027 icsServices.a(GAIReachabilityChecker.o)l002在libGoogleAnalyticsServices.a(TAGNetReachability.o)l003中的libGoogleAnalyticsServices.a(TAGNetReachability.o)" deflateInit2 ",引用自:libinogleAnalyticsServices.a中的l001(NSData + zlib.o)"_SCNetworkReachabilityScheduleWithRunLoop" ,引自:libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)l002(TAGNetReachability.o)"_SCNetworkReachabilityUnscheduleFromRunLoop",引自:libGoogleAnalyticsServices.a中的liboogleAnalyticsServices.a(GAIReachabilityChecker.o)l003中的l027(TAGNetReachability.o) )ld:找不到架构armv7 clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)
可能他们忘了包含我需要添加的lib?(他们忘记改变指令的其他一些方面).否则他们按照他们的指示去发球台,但仍然没有得到所需的结果.
我一整天都在寻找一个好的解决方案,但谷歌进化得如此之快,以至于找不到合适的东西.我想要做的是,我有一个Web应用程序,其中有一个管理部分,用户需要登录才能查看信息.在本节中,我想显示来自GA的一些数据,例如某些特定网址的综合浏览量.因为它不是用户信息我展示,但谷歌analytics'user我想连接传递信息(用户名/密码或APIKey),但我不能找出如何.我发现的所有样本都使用了OAuth2(如果我理解的话,会要求访问者使用谷歌登录).
到目前为止我发现了什么:
也许我只是累了,明天很容易找到解决方案,但现在我需要帮助!
谢谢
我希望在我的一个网站上实现页面查看跟踪系统.
该网站是供应商可以宣传其服务的目录.供应商在网站上有一个独特的个人资料页面,例如mysite.com/directory/abc-profile.html
这个想法是供应商可以登录他们在网站上的帐户区域,并查看有多少人访问他们的个人资料的统计数据.理想情况下,我想将其显示为:
Total views | Total today | This week | This month | This year
数据是否完全是最新的并不重要.
我已经在网站上安装了Google Analytics跟踪代码.是否可以使用Google AnalyticsAPI来检索此数据?如果是这样,我需要做什么样的查询?我查看了文档,但无法确定函数是否允许这样做.
我在服务器上使用PHP和MySQL.
今天,我发现GoogleAnalytics-iOS-SDK在Cocoapods中有新的3.0版本.我升级了,我尝试修改手动屏幕测量代码如下:
id tracker = [[GAI sharedInstance] defaultTracker];
[tracker set:kGAIScreenName value:@"Detail View"];
[tracker send:[[GAIDictionaryBuilder createAppView] build]];
Run Code Online (Sandbox Code Playgroud)
但是,我总是得到关于kGAIScreenName未声明的错误.即使我添加GAIFields.h标头,它仍然无法正常工作.
我错过了什么?
在向Google API(gapi)发出身份验证请求时,它会在checkOrigin上返回false.
我删除了任何客户端ID或任何直接链接到我的帐户的内容,并将其替换为正则表达式,以指示数据供参考.
网址: https://accounts.google.com/o/oauth2/iframerpc?action=checkOrigin&origin=https%3A%2F%2Flocal.tools&client_id=(\d{21})
我的原始网址是本地网址 https://local.tools
结果: {valid: false}
我正在使用此处找到的示例而没有偏差(除了用我的21位数字clientid替换clientid):https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/
我正在尝试显示的项目在演示站点上很好地显示,但是没有超过我的local.tools站点上的客户端错误的无效来源.
google-api google-analytics-api google-oauth google-api-js-client
google-api ×4
ios ×2
oauth-2.0 ×2
php ×2
.net ×1
access-token ×1
c# ×1
google-oauth ×1
jwt ×1
python ×1