7

मैं Google एपीआई को अपनी वेबसाइट पर काम करने के लिए अब दिनों के लिए काम करने की कोशिश कर रहा हूं, लेकिन इसे काम नहीं कर रहा हूं। जहां भी मैं खोज करता हूं, मुझे पुराने उदाहरण मिलते हैं ... मुझे इसे कोडिनेटर के साथ काम करने की ज़रूरत है और मैं चाहता हूं कि मैं अपने कोडिनेटर वेबसाइट पर व्यवस्थापक डैशबोर्ड में दिखाने के लिए Google Analytics से डेटा प्राप्त करना चाहता हूं।कोडिग्निटर वेबसाइट पर Google Analytics API

मैं समझता हूँ कि मैं एक सेवा खाता की जरूरत है, अगर मैं हर मैं डैशबोर्ड पर देखने के सत्यापन किया जा नहीं करना चाहते हैं (?)

किसी कृपया मुझे इस काम के लिए हो रही के साथ मदद कर सकते हैं? अग्रिम में बहुत बहुत धन्यवाद!

मुझे जो करना है वह है: Google Analytics से डेटा प्राप्त करें, उस डेटा को जेसन के रूप में वापस लाएं, तो मुझे लगता है कि मैं प्लगइन के साथ इसे एक चार्ट बना सकता हूं (शायद कुछ jQuery प्लगइन पहले से मौजूद है, या क्या मैं गूगल्स का उपयोग कर सकता हूं अपने चार्ट ड्रॉर्स?) और इसे प्रशासकों को दिखाएं। मैं बस वास्तव में सरल डेटा चाहता हूं, उदाहरण के लिए, पिछले महीने कितने उपयोगकर्ता ...

+1

मुझे समझ में नहीं आता कि कोई इसे क्यों कम करेगा, क्योंकि अधिकतर लोगों को शायद यह समस्या हो रही है! मैंने कोडिग्निटर के लिए स्पार्क्स के लिए प्लगइन की कोशिश की है, लेकिन वह दो साल का है, जिसका अर्थ है कि एपीआई पुराना है, और गूगल्स वेबसाइट पर उदाहरणों में सभी नामकरण सम्मेलन गलत हैं ... – Michael

उत्तर

16

लगभग एक सप्ताह बाद - और निश्चित रूप से, उसी दिन मैं इस प्रश्न को पोस्ट करता हूं, अंत में मैं इसे स्वयं ठीक करने का प्रबंधन करता हूं।

मैं their github से नवीनतम Google क्लाइंट API (php के लिए) डाउनलोड किया गया:

यह मैं कैसे के बारे में जाना है।

मैंने अपने एप्लिकेशन/third_party फ़ोल्डर में Google फ़ोल्डर (src) जोड़ा।

मेरी नियंत्रक के अंदर मैं ऐसा करके आवश्यक फ़ाइलें शामिल:

require_once(BASEPATH . '../application/third_party/Google/Client.php'); 
require_once(BASEPATH . '../application/third_party/Google/Service/Analytics.php'); 

तब मैं सेवा खाता (जो आप Google Console से मिलता है और अपनी परियोजना> API & प्रमाणन चयन करने के साथ प्राधिकरण के लिए कि नीचे निम्नलिखित कोड जोड़ा > साख> फिर एक नई क्लाइंट आईडी बनाएं, चयन सेवा खाता है, जब किया, प्रेस "नए p12 कुंजी जेनरेट करें" और अपने THIRD_PARTY है कि कुंजी जोड़ने/गूगल फ़ोल्डर:

session_start(); 

$client_id = '<YOUR_CLIENT_ID>'; //Client ID 
$service_account_name = '<YOUR_CLIENT_EMAIL>'; //Email Address 
$key_file_location = BASEPATH . '../application/third_party/Google/<YOUR KEY.p12>'; //key.p12 

$client = new Google_Client(); 
$client->setApplicationName("ApplicationName"); 
$service = new Google_Service_Analytics($client); 

if (isset($_SESSION['service_token'])) { 
    $client->setAccessToken($_SESSION['service_token']); 
} 

$key = file_get_contents($key_file_location); 
$cred = new Google_Auth_AssertionCredentials(
    $service_account_name, 
    array(
     'https://www.googleapis.com/auth/analytics', 
    ), 
    $key, 
    'notasecret' 
); 
$client->setAssertionCredentials($cred); 
if($client->getAuth()->isAccessTokenExpired()) { 
    $client->getAuth()->refreshTokenWithAssertion($cred); 
} 
$_SESSION['service_token'] = $client->getAccessToken(); 

नीचे कोड के लिए है पिछले 31 दिनों

$analytics = new Google_Service_Analytics($client); 

$profileId = "ga:<YOUR_PROFILE_ID>"; 
$startDate = date('Y-m-d', strtotime('-31 days')); // 31 days from now 
$endDate = date('Y-m-d'); // todays date 

$metrics = "ga:sessions"; 

$optParams = array("dimensions" => "ga:date"); 
$results = $analytics->data_ga->get($profileId, $startDate, $endDate, $metrics, $optParams); 

$data['report'] = $results->rows; //To send it to the view later 

से आर रही सत्र (पेज का दौरा) सभी आयाम और मीट्रिक है कि आप उपयोग कर सकते हैं पाने के लिए, use this link। कैसे दृश्य को भेजने के लिए पर उदाहरण:

$this->view->load('your_view', $data); 

एक चार्ट मैं सिर्फ Google charts इस्तेमाल किया, जे एस में (ध्यान में रखते हुए) के रूप में इसे बाहर लिखने के लिए मैं सिर्फ $ से डेटा फंस डेटा [ 'रिपोर्ट' ] एक चार्ट आकर्षित करने के लिए।

आशा है कि इससे भविष्य में इस समस्या वाले लोगों की मदद मिलेगी।

+1

आपके कोड के लिए धन्यवाद ... I आपके क्यू के समान गड़बड़ में था .. आपका जवाब मुझे दिखाता है कि सबकुछ खत्म हो जाएगा :) – Penny

+0

यह वास्तव में सहायक है, धन्यवाद! दुर्भाग्य से हालांकि, मुझे त्रुटि मिलती है "(403) उपयोगकर्ता के पास कोई Google Analytics खाता नहीं है।" ... क्या यह ऐसा कुछ है जिसे आपने भर दिया है? –

+0

नहीं, क्षमा करें, मुझे यह समस्या नहीं है। – Michael

संबंधित मुद्दे