2014-09-04 46 views
0

我在Google Analytics中遇到了一些問題,並要求它根據包含日期而不是日期的變量作爲純字符串提供結果。的變量PHP - Google AnalyticsAPI - 在data_ga-中使用變量獲得

宣言:

$date = new DateTime(); 
$end_date = $date->format('Y-m-d'); 

$date = sub(new DateInterval('P1M')); 
$start_date = $date->format('Y-m-d'); 

代碼:

function getResults($analytics, $profileId) { 
return $analytics->data_ga->get('ga:'.$profileId, $start_date, $end_date, 'ga:sessions'); 
} 

的變量分配別處;但是當我運行的代碼,我發現了以下內容:

有一個普遍的錯誤:(GET)缺少必需的PARAMS:「開始日期」,「結束日期」

任何人知道爲什麼,將它們用作帶有單引號的簡單字符串的作品? (例如:今天的2014-09-04)

+0

好像沒有定義這兩個變量。你可以附加更多的代碼嗎? – osowskit 2014-09-06 03:18:41

+0

@oskitkit剛剛檢查了錯誤日誌。你是對的,日誌說變量沒有被定義......奇怪。 (它們被定義在頂部) – Raisus 2014-09-08 08:27:57

+0

你能粘貼整個文件嗎? – 2014-09-08 08:40:23

回答

0

我只是有一點靈感。我意識到我的「代碼」是一個函數。這是有道理的,變量必須傳遞給代碼來理解它的功能。

固定碼

function runMainDemo($analytics, $start_date, $end_date) 
{ 
try 
{ 
$profileId = getFirstProfileId($analytics); 
if (isset($profileId)) 
{ 
$results = getResults($analytics, $profileId, $start_date, $end_date); 
... 
} 
... 
} 
... 
} 

function getResults($analytics, $profileId, $start_date, $end_date) { 
return $analytics->data_ga->get('ga:'.$profileId, $start_date, $end_date, 'ga:sessions'); 
} 
+0

我有完全相同的代碼塊,它不工作,「缺少必需的參數。結束日期。必須是一個錯誤。 – user734063 2014-10-02 15:22:06

+0

@ user734063你試過了嗎: 'function runMainDemo($ analytics,$ start_date,$ end_date) { 嘗試{ $簡檔= getFirstProfileId($分析); 如果(isset($簡檔)){ $結果= getResults($分析,$簡檔,$起始日期,$ END_DATE);?' 我發現您需要通過runMainDemo函數以及getResults函數來傳遞它(如果您遵循同樣的Google Analytics示例) – Raisus 2014-10-06 15:02:56