是否可以不通过服务帐户从Google Analytics Data API(GA4 帐户)提取数据?我可以使用服务帐户正常提取(下面的示例),但我需要通过 oauth(同意屏幕)进行授权,并且我发现绝对没有任何相关内容。
<?php
require 'vendor/autoload.php';
use Google\Analytics\Data\V1beta\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\DateRange;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
$client = new BetaAnalyticsDataClient(['credentials' => 'MY-CREDENTIALS.json']);
$response = $client->runReport([
'property' => 'properties/MY-ID',
'dateRanges' => [
new DateRange([
'start_date' => '2020-03-31',
'end_date' => 'today',
]),
],
'dimensions' => [new Dimension(
[
'name' => 'city',
]
),
],
'metrics' => [new Metric(
[
'name' => 'activeUsers',
]
)
]
]);
print 'Report result: ' . PHP_EOL;
foreach ($response->getRows() as $row) {
print $row->getDimensionValues()[0]->getValue()
. …Run Code Online (Sandbox Code Playgroud) 我们刚刚向我们的网站添加了 GA4 跟踪,以及事件的自定义参数,然后将其配置为要在报告中使用的自定义维度。之后,我们注意到在按自定义维度进行突破时会出现“(未设置)”值。它显示为 0 次观看,但大约是总会话数的两倍。
当自定义维度过滤为“(未设置)”并查看事件时,这些事件似乎主要记录为“session_start”和“first_visit”事件。
此外,当过滤掉自定义维度的“(未设置)”时,page_view事件的会话计数不等于总数,这使我认为存在没有page_view事件的会话 - 尽管我不认为我们的网站上如何发生这种情况,并且我们没有设置应用程序/任何应用程序跟踪。
我们进行了比较,从 API 中也得到了相同的结果。
这是我们网站上的代码(遵循此处的 gtag 指南):
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXX"></script>
<script>
var ga4ParamsObject = JSON.parse(`{"classification":"Standard","example1":"value1","example2":"value2","example3":"value3"}`);
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXX', ga4ParamsObject);
</script>Run Code Online (Sandbox Code Playgroud)
问题:
补充笔记:
我们正在并行运行analytics.js
我们已经升级到360了
管理配置中的“在 GA4 中收集 UA 事件”设置已关闭
GA4属性连接到GAM,我们在页面上投放广告,一些广告商也使用gtag.js,但我检查了多次,我们的特定G测量ID仅出现在我上面分享的代码片段中
感谢任何阅读本文的人。
google-analytics google-analytics-api google-analytics-firebase gtag.js google-analytics-4
我正在开始查看Google Analytics核心报告API,该API现已发布于版本3.
根据文档,我可以使用链接http://code.google.com/apis/analytics/docs/gdata/v3/gdataLibraries.html中列出的一个客户端库.
我正在使用python,所以我在寻找在python中使用核心报告API的示例,但我找不到使用这个库的人.http://code.google.com/p/google-api-python-client/wiki/SampleApps上的所有示例都不包含Core Reporting API的示例.
另一种选择似乎是使用该库在http://code.google.com/p/gdata-python-client/,但我不知道该库使用核心API报告的最新版本(3.0版).
我正在寻找符合http://code.google.com/apis/analytics/docs/gdata/v3/reference.html的python库(包含文档/示例)
谢谢
我正在尝试使用Google Api客户端代码撤消令牌.
我的代码看起来像这样:
$.get("https://accounts.google.com/o/oauth2/revoke?token=" + accessToken, function () {
window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误?
XMLHttpRequest无法加载 https://accounts.google.com/o/oauth2/revoke?token=tokenishere来自Access-Control-Allow-Origin不允许来源 http://balblabla.com.
SE上已经有几个问题,但是我已经阅读了所有我认为相似的内容,而且我还没有完全找到.
我收到了验证码,所以现在我需要将它换成访问令牌和刷新令牌.但是,Google会返回奇怪的非特定错误"invalid_request".这是我的代码:
private const string BaseAccessTokenUrl = "https://accounts.google.com/o/oauth2/token";
private const string ContentType = "application/x-www-form-urlencoded";
public static string GetRefreshToken(string clientId, string clientSecret, string authCode)
{
Dictionary<string, string> parameters = new Dictionary<string, string>
{
{ "code", authCode },
{ "client_id", clientId },
{ "client_secret", clientSecret },
{ "redirect_uri", "http://localhost" },
{ "grant_type", "authorization_code" }
};
string rawJson = WebUtilities.Post(BaseAccessTokenUrl, parameters, ContentType);
return rawJson; // TODO: Parse out the actual refresh token
}
Run Code Online (Sandbox Code Playgroud)
我的Post()方法对参数键和值进行URL编码并将它们连接起来:
public static string Post(string uri, Dictionary<string, string> …Run Code Online (Sandbox Code Playgroud) Exception: GAPI: Failed to request account data. Error:
" Error 404 (Not Found)!!1 *
{
margin: 0;
padding: 0;
}
html,
code { font: 15px/22px arial,sans-serif }
html {
background: #fff;
color: #222;
padding: 15px;
}
body {
margin: 7% auto 0;
max-width: 390px;
min-height: 180px;
padding: 30px 0 15px;
}
* > body {
background: url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;
padding-right: 205px;
}
p {
margin: 11px 0 22px;
overflow: hidden;
}
ins {
color: #777;
text-decoration: none;
}
a …Run Code Online (Sandbox Code Playgroud) 我正在一个网站上工作,其中一部分是关于网站统计,我想从Google Analytic API获取数据,现在它在我的localhost中工作正常,但是当我将它上传到我的服务器时,它显示错误:
[CryptographicException: An internal error occurred.
]
System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) +33
System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) +0
System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) +218
System.Security.Cryptography.X509Certificates.X509Certificate..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags) +65
System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags) +61
PortalCore.Classes.GAHelper.Credential(String accemail, String certname) +119
PortalCore.Admin.Stat.SetValues() +629
PortalCore.Admin.Stat.Page_Load(Object sender, EventArgs e) +5
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
Run Code Online (Sandbox Code Playgroud)
我的代码:
string startdate = installeddate.ToString("yyyy-MM-dd"); //installeddate from My DB …Run Code Online (Sandbox Code Playgroud) 使用谷歌应用程序脚本我正在从谷歌分析API收集数据.这将设置为每天凌晨1点收集数据,并将其写入"原始"表
在我的第二个脚本中,我想将一个范围A1:G1从"原始"表复制到我的第二个表"复制".我想要的是不断将数据复制到下一个空行,但是如何?
到目前为止,我将此作为基本解决方案,但这始终将所选数据粘贴到定义的单元格中(在本例中为单元格A10)
function copytestdata() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("original");
var sheet2 = ss.getSheetByName("copy");
sheet1.getRange("A1:G1").copyTo(sheet2.getRange("A10"), {contentsOnly:true});
}
Run Code Online (Sandbox Code Playgroud)
我想在第二张"复制"上找到动态解决方案.因此,新数据应该粘贴到从单元格A1开始到下一个空行的下一个空行.但是如何让脚本进入下一个空行呢?
sheet1.getRange("A1:G1").copyTo(sheet2.[DYNAMIC SOLUTION]), {contentsOnly:true});
Run Code Online (Sandbox Code Playgroud)
有人有个好主意吗?我真的很感激帮助.
哦,顺便说一句,我怎样才能真正去一个特定的单元格:sheet1.getActiveRange("B8")
非常感谢您的帮助Pelikan76
当您ga_autoActivityTracking在跟踪器配置中启用attrubute 时,可以自动跟踪Google Analytics的所有活动.
所以我问自己这个动作何时被解雇,因为我想在特殊时间排除它.
它是发射时一些的onCreate,onResume或者活动的其他方法获取调用?
我开始跟踪MyApplications onCreate()方法:
@Override
public void onCreate(){
if (GooglePlayServicesUtil.isGooglePlayServicesAvailable(this)== ConnectionResult.SUCCESS) {
// Get tracker.
Tracker t = getTracker(
MyApplication.TrackerName.APP_TRACKER);
// Send screen view.
t.send(new HitBuilders.AppViewBuilder().build());
}
}
Run Code Online (Sandbox Code Playgroud)
并使用以下文件初始化跟踪器:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- The screen names that will appear in reports -->
<screenName name="de.example.app.MainActivity">
MainActivity
</screenName>
...
<string name="ga_trackingId">UA-59000000-1</string>
</resources>
Run Code Online (Sandbox Code Playgroud) android google-analytics google-analytics-api google-analytics-firebase
我正在使用Python 2.7中的以下代码片段向bigQuery加载新行分隔JSON:
from google.cloud import bigquery
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
bigquery_client = bigquery.Client()
dataset = bigquery_client.dataset('testGAData')
table_ref = dataset.table('gaData')
table = bigquery.Table(table_ref)
with open('gaData.json', 'rb') as source_file:
job_config = bigquery.LoadJobConfig()
job_config.source_format = 'NEWLINE_DELIMITED_JSON'
job = bigquery_client.load_table_from_file(
source_file, table, job_config=job_config)
Run Code Online (Sandbox Code Playgroud)
它返回以下错误:
File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/cloud/bigquery/client.py", line 897, in load_table_from_file
raise exceptions.from_http_response(exc.response)
google.api_core.exceptions.BadRequest: 400 POST https://www.googleapis.com/upload/bigquery/v2/projects/test-project-for-experiments/jobs?uploadType=resumable: Required parameter is missing
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?我怎样才能解决这个问题?还有其他人遇到过类似的问题吗?提前致谢.编辑:添加最后一段,包括python导入并更正缩进.
google-analytics google-analytics-api python-2.7 google-bigquery google-cloud-platform
c# ×2
php ×2
android ×1
asp.net ×1
gdata-api ×1
google-api ×1
gtag.js ×1
javascript ×1
jquery ×1
oauth ×1
oauth-2.0 ×1
python ×1
python-2.7 ×1