user1014102
user1014102

Reputation: 345

google Analytics API php APIKey 401

I'm implementing a server side script that supposed to use Analytics DailyUpload API

I added a "Key for server applications" in my project https://console.developers.google.com/project .

When I tried to access the API with the php client I always have a 401 error.

set_include_path("../src/" . PATH_SEPARATOR . get_include_path());
require_once 'Google/Client.php';
require_once 'Google/Service/Analytics.php';

$client = new Google_Client();
$client->setApplicationName("AutoDailyUpload");
$apiKey = "MY_API_KEY";
$client->setDeveloperKey($apiKey);

$analytics = new Google_Service_Analytics($client);
try {
    $accounts = $analytics->management_accounts->listManagementAccounts();

    if (count($accounts->getItems()) > 0) {
        $items = $accounts->getItems();
        $firstAccountId = $items[0]->getId();

        $webproperties = $analytics->management_webproperties->listManagementWebproperties($firstAccountId);

        if (count($webproperties->getItems()) > 0) {
            $items = $webproperties->getItems();
            $firstWebpropertyId = $items[0]->getId();

            $profiles = $analytics->management_profiles->listManagementProfiles($firstAccountId, $firstWebpropertyId);

            if (count($profiles->getItems()) > 0) {
                $items = $profiles->getItems();
                echo $items[0]->getId();

            } else {
                throw new Exception('No views (profiles) found for this user.');
            }
        } else {
            throw new Exception('No webproperties found for this user.');
        }
    } else {
        throw new Exception('No accounts found for this user.');
    }
} catch (Exception $e) {
    echo 'Error : ' . $e->getMessage();
}

result:

{"error":{"errors":[{"domain":"global","reason":"required","message":"Login Required","locationType":"header","location":"Authorization"}],"code":401,"message":"Login Required"}}

am I doing something wrong?

Upvotes: 0

Views: 3659

Answers (1)

user1014102
user1014102

Reputation: 345

I found a way thanks to that question.

Service Applications and Google Analytics API V3: Server-to-server OAuth2 authentication?

hope it's help others

Upvotes: 1

Related Questions