标签: google-analytics-api

通过 oauth2 从 Google Analytics Data API (Ga4) 提取数据(同意屏幕)

是否可以不通过服务帐户从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)

php google-analytics-api google-cloud-php-client

2
推荐指数
1
解决办法
3126
查看次数

(未设置)来自自定义维度/参数的 session_start 事件的值

我们刚刚向我们的网站添加了 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)

问题:

  • 我们的实施中是否存在错误或缺失,导致自定义维度上出现(未设置)值?
  • 我们是否没有将 session_start 和 first_visit 事件“链接”到会话中的 page_view 事件?
  • 如何解释总会话数高于 page_view 事件的会话数?
  • 当按这些参数(自定义维度)进行细分时,同一会话中的多个参数似乎会被计数两次 - 这是 GA4 中预期的情况还是我们的设置再次出现问题?

补充笔记:

  • 我们正在并行运行analytics.js

  • 我们已经升级到360了

  • 管理配置中的“在 GA4 中收集 UA 事件”设置已关闭

  • GA4属性连接到GAM,我们在页面上投放广告,一些广告商也使用gtag.js,但我检查了多次,我们的特定G测量ID仅出现在我上面分享的代码片段中

  • 这是一个示例页面


感谢任何阅读本文的人。

google-analytics google-analytics-api google-analytics-firebase gtag.js google-analytics-4

2
推荐指数
1
解决办法
3122
查看次数

Google Analytics核心报告API Python库

我正在开始查看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库(包含文档/示例)

谢谢

python gdata-api google-analytics-api

1
推荐指数
1
解决办法
1457
查看次数

如何针对Google Api撤消身份验证令牌客户端

我正在尝试使用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.

javascript jquery oauth google-api google-analytics-api

1
推荐指数
1
解决办法
4408
查看次数

请求访问令牌时,通过OAuth 2连接到Google,"invalid_request"

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)

c# google-analytics-api oauth-2.0

1
推荐指数
1
解决办法
3791
查看次数

GAPI:无法请求帐户数据

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)

php google-analytics google-analytics-api

1
推荐指数
1
解决办法
1992
查看次数

在ASP.NET C#中使用Google分析版本3

我正在一个网站上工作,其中一部分是关于网站统计,我想从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)

c# asp.net google-analytics google-analytics-api

1
推荐指数
1
解决办法
857
查看次数

谷歌应用程序脚本 - 粘贴到下一个空行

使用谷歌应用程序脚本我正在从谷歌分析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

google-analytics-api google-apps-script

1
推荐指数
1
解决办法
7839
查看次数

ga_autoActivityTracking何时被触发?

当您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

1
推荐指数
1
解决办法
1324
查看次数

使用Python中的google.cloud.bigquery写入bigQuery时,必需参数丢失错误

我正在使用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

1
推荐指数
1
解决办法
832
查看次数