此查询提供了流量来源的访问;
https://www.google.com/analytics/feeds/data?ids=ga%3A123456&dimensions=ga%3Asource%2Cga%3Amedium&metrics=ga%3Avisits&sort=-ga%3Avisits&start-date=2009-08-12&end-date=2009 -08-26&最大结果= 50
但是,在指定过滤器时:ga:pagePath ==/Default.aspx - 我得到零结果
https://www.google.com/analytics/feeds/data?ids=ga%3A123456&dimensions=ga%3Asource%2Cga%3Amedium&metrics=ga%3Avisits&filters=ga%3ApagePath%3D%3D%2FDefault.aspx&sort=-ga%3Avisits&start -date = 2009-08-12&结束日期= 2009-08-26&最大结果= 50
我怎样才能过滤ga:pagePath?
这违反了Apple应用开发规则吗?在一些论坛中,我刚看到那件事.如果我使用同样的东西,我害怕被AppStore拒绝.请帮帮我.如果我不能使用Google Analytics SDK,那么这将是我可以为我的应用实施的最佳分析方法?
我正在使用Google API客户端访问Google Analytics.我想在离线模式下访问数据,所以我需要一个刷新令牌.我如何获得refresh_token?
我已经拼命想要自己解决这个问题,并且不想带着这个问题来解决这个问题,但是我的智慧结束了(不是因为api/oauth docs).
我正在使用PHP,我试图通过在方法上使用REST 来避免使用Google_Client和AnalyticsService类analytics.data.ga.get.
STEP #1: Create an API Project for a Web Application
我转到api控制台并使用分析服务创建一个项目并获取OAuth客户端ID和密钥.
我的印象是我可以为已安装的应用程序或Web应用程序创建客户端ID,因为我正在手动进行初始令牌握手.如果我错了,请纠正我.
我为Web应用程序创建了一个客户端ID,并获取了我的客户端ID xxxxxxxxxxxxxx.apps.googleusercontent.com,客户端密码yyyyyyyyyyyyyyy和我的重定向URIhttp://localhost:9002
STEP #2: Request initial API access
我输入这个链接; https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=xxxxxxxxxxxxxx.apps.googleusercontent.com&redirect_uri=http://localhost:9002&scope=https://www.googleapis.com/auth/analytics.readonly&access_type=offline
这access_type=offline是因为我正在使用REST,并且不希望"用户"(我自己)每次需要刷新令牌时手动处理重定向/弹出窗口.
上述请求返回 http://localhost:9002?code=4/KModH0K_xxxxxxxxxxxxxxxxxxx9Iw.gikOaYRDWywTshQV0ieZDArCOX8XdwI
代码4/KModH0K_xxxxxxxxxxxxxxxxxxx9Iw.gikOaYRDWywTshQV0ieZDArCOX8XdwI是我的许可,可以请求API令牌.
STEP #3: Request First Token
由于我公司的IT问题,我被迫使用PHP 5.2.17并且我无法访问PHP cURL,因此我正在使用file_get_contents和stream_context_create.
使用PHP请求第一个令牌file_get_contents();
$opts = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个使用此库的Google Analytics的基本示例:https://github.com/google/google-api-php-client
对于初学者我有:
<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Analytics.php';
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
$client->setDeveloperKey("MY_SECRET_API"); //security measures
$service = new Google_Service_Analytics($client);
$results = $service->data_ga;
echo '<pre>';
print_r($results);
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)
问:如何从此查询中获取Google Analytics的数据?
/*
https://www.googleapis.com/analytics/v3/data/
ga?ids=ga%123456
&dimensions=ga%3Acampaign
&metrics=ga%3Atransactions
&start-date=2013-12-25
&end-date=2014-01-08
&max-results=50
*/
Run Code Online (Sandbox Code Playgroud) 我一直在尝试实施增强型电子商务跟踪,但无论我做什么,Google Analytcs网络面板中的电子商务视图都会保持空白,即没有数据发送(显然).所有其他数据,屏幕和事件跟踪按预期工作.
我正在关注安装谷歌分析和实施增强型电子商务跟踪的官方指南.这是我的设置:
在MyApplication类中:
public class MyApplication extends Application {
private Tracker mTracker;
//....
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mTracker = analytics.newTracker(R.xml.global_tracker);
mTracker.set("&tid", GOOGLE_ANALYTICS_ID_VALUE);
}
return mTracker;
}
}
Run Code Online (Sandbox Code Playgroud)
R.xml.global_tracker:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="ga_sessionTimeout">300</integer>
<bool name="ga_autoActivityTracking">false</bool>
<string name="ga_sampleFrequency">100.0</string>
<bool name="ga_reportUncaughtExceptions">true</bool>
<integer name="ga_dispatchPeriod">30</integer>
</resources>
Run Code Online (Sandbox Code Playgroud)
在BaseActivity类中我有trackEcommerce()方法,我在适当的活动/片段中使用它:
public void trackEcommerce(){
String screenName = "eCommerce";
String transactionID = "transactionID"; //some randomized value
Double transactionRevenue = 0.0; //value of the …Run Code Online (Sandbox Code Playgroud) android google-analytics google-analytics-api google-analytics-firebase enhanced-ecommerce
我正在尝试将多个dimensionFilterClauses用于Core Reporting API V4查询.如果我只使用ga:adwordsCustomerID维度上的过滤器一切正常,但是当我在ga:adTargetingType维度上添加第二个过滤器时,它会抛出"状态400:错误请求"错误.
这是我写的查询:
return analytics.reports().batchGet(
body={"reportRequests": [{
"pageSize": 10000,
"viewId": VIEW_ID,
"dateRanges": [
{"startDate": "31daysAgo", "endDate": "yesterday"}
],
"dimensions": [
{"name": "ga:adwordsCampaignID"},
{"name": "ga:adwordsAdGroupID"},
{"name": "ga:adwordsCriteriaID"}
],
"metrics": [
{"expression": "ga:adClicks"},
{"expression": "ga:adCost"},
{"expression": "ga:uniquePurchases"},
{"expression": "ga:itemRevenue"},
{"expression": "ga:CPC"},
{"expression": "ga:ROAS"}
],
"dimensionFilterClauses": [
{"filters": [
{"dimensionName": "ga:adwordsCustomerID",
"operator": "EXACT",
"expressions": ["2096809090"]},
{"dimensionName": "ga:adTargetingType",
"operator": "EXACT",
"expressions": ["Keyword"]}
]}
],
"metricFilterClauses": [
{"filters": [
{"metricName": "ga:adCost",
"operator": "GREATER_THAN",
"comparisonValue": "0"}
]}
],
"orderBys": [ …Run Code Online (Sandbox Code Playgroud) python google-analytics google-analytics-api python-3.x google-analytics-firebase
我设法使用以下方法获取一些数据:
$ga->requestReportData(44030755,array('pagePath'),array('pageviews','uniquePageviews'));
并使用foreach迭代它.
这是返回的内容:
object(gapiReportEntry)[7]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?@faktanyaadalah=' (length=19)
object(gapiReportEntry)[12]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?facebookwww-static/assets/images/highlight.png=' (length=50)
object(gapiReportEntry)[8]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?faktanyaadalah=&fb_xd_fragment=' (length=34)
object(gapiReportEntry)[13]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' …Run Code Online (Sandbox Code Playgroud) 我想使用较新的v3.0访问我们的Google Analytics帐户报告,但从我阅读的所有内容看来,为了获得有效的访问令牌,用户必须登录.
我们希望直接访问自己的帐户报告,而不是根据帐户访问客户端.我们如何在PHP中完成此操作而无需将浏览器发送到Google登录页面?v3.0没有直接的API身份验证吗?
编辑
这似乎是在没有最终用户交互的情况下访问API的唯一方法,他们称之为"服务器到服务器":
https://developers.google.com/accounts/docs/OAuth2ServiceAccount
编辑2
看起来无法完成?(
警告:目前很少有Google API支持服务帐户.以下Google开发人员服务目前支持服务帐户:
- Google云端存储
- Google Prediction API
- Google URL Shortener
- Google OAuth 2.0授权服务器
编辑3
毕竟似乎有一个解决方案,因为我登录一次然后使用"刷新令牌"继续获得访问权限而无需额外的用户登录.
我的Shiny App有问题,特别是flexdashboard仪表和googleAnalyticsR之间的问题.
当我最初使用预先填充的值加载应用程序时,仪表会显示相应的颜色.

但是,在我登录并为Google Analytics(googleAuthR)创建授权令牌后,标尺栏上的颜色立即消失.

下面是我正在处理的应用程序的剥离版本,它展示了这个问题.我尝试了多种不同的加载包的方法(比如这个,这个),但我没有运气.Chrome或R控制台中没有错误,因此我不确定为什么Google身份验证会导致图形丢失颜色,而不会丢失值.
library(shiny)
library(shinydashboard)
library(googleAnalyticsR)
library(googleAuthR)
library(flexdashboard)
ui <- shinyUI(dashboardPage(
dashboardHeader(title = "Test"),
dashboardSidebar(
sidebarMenu(
menuItem("Test", tabName = "Test", icon = icon("dashboard"))
)
),
dashboardBody(
tabItems(
tabItem(tabName = "Test",
fluidRow(
titlePanel("Test"),
sidebarPanel(
helpText("Start by logging in to your Google Analytics account."),
googleAuthUI("login"),
br()
),
mainPanel(
column( width = 4,
flexdashboard::gaugeOutput("outputBox1")
),column( width = 4,
flexdashboard::gaugeOutput("outputBox2")
),column( width = 4,
flexdashboard::gaugeOutput("outputBox3")
)
)
))
))))
server <- shinyServer(function(input, output, …Run Code Online (Sandbox Code Playgroud)