Cześć,
przewertowałem połowę internetu i nigdzie nie mogłem znaleźć informacji jak działa google-apiclient w php dla usługi ServiceUsed. Chciałbym móc wyświetlić usługi a dokładniej interfejsy API i ich limity. Czytałem też tę dokumentację:
https://cloud.google.com/service-usage/docs/apis
https://cloud.google.com/service-usage/docs/reference/rest/v1/services/list
aleee nie mogę znaleźć w jaki sposób wykonać zapytania używając biblioteki google.
<?php
require 'vendor/autoload.php';
use Google\Client;
use Google\Service\ServiceUsage;
// Ścieżka do klucza JSON pobranego z Google Cloud Console
$keyAuth = json_decode(file_get_contents('key.json'), true);
// Tworzenie obiektu klienta Google
$client = new Client();
$client->setAuthConfig($keyAuth);
$client->addScope('https://www.googleapis.com/auth/cloud-platform');
// Tworzenie obiektu serwisu Service Usage
$serviceUsage = new ServiceUsage($client);
// ID projektu
$projectId = 'xxxxxxxxxxxxx';
try {
// Tworzenie instancji Service Usage
$serviceUsage = new ServiceUsage($client);
// Żądanie o listę usług
$services = $serviceUsage->services->listServices([
"projects/$projectId"
]);
// Iteracja po usługach
foreach ($services->getServices() as $service) {
echo "Service Name: " . $service->getName() . "\n";
}
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
napisałem dla testu taki prosty dość kod. No i utknąłem w miejscu, bo to nie zwraca mi ani jednej usługi xxx.googleapis.com poza paroma, ale one mnie chyba jakoś nie interesują.
Service Name: projects/xxxxxxxxxxxxx/services/a10-thunder-adc-601b150-byol.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-100mbps.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-10gbps.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-1gbps.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-200mbps.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-20mbps.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-500mbps.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-5gbps.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/a10-vthunder-adc-byol.endpoints.a10networks-public-396315.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/aapl-miriinfotech-public.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/ab-initio-cooperating-system.endpoints.ab-initio-419002.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/ab-tasty-experimentation.endpoints.abtasty-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/abacus.ai.endpoints.abacus-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/abacus360-on-rcloud.endpoints.regnology-cloud-marketplace.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/abantecart-bitnami-launchpad.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/abilitec-api.endpoints.liveramp-identity-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/absolute-labs-wrm.endpoints.absolute-labs-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/abusiveexperiencereport.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/acal-shadowplex.endpoints.acal-mkt-shadowplex-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/acceldata-data-observability-cloud.endpoints.acceldata-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/acceleratedmobilepageurl.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/accenture-managed-extended-detection-response.endpoints.acn-gcp-security.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/accern-esg-dataset-accern-public.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/access-gudid-national-library-of-medicine.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/accessapproval.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/accesscontextmanager.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/achievers-employee-engagement-platform.endpoints.achievers-saasmp-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/acme-registration-authority-for-gcp-cas-smallstep-public.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/acmedns.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/acryl-data.endpoints.acryl-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/actable-predictive-suite.endpoints.actable-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/actian-avalanche-hybrid-cloud-data-warehouse.endpoints.actian-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/actifio-go-actifio-public.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/actions.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/active-directory-dc-2016-cloud-infrastructure-services.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/active-directory-domain-2022.endpoints.cloud-infra-services-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/active-directory-self-service-password-reset.endpoints.cloud-infra-services-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/activemq-06-02-2020-miriinfotech-public.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/activemq-bitnami-launchpad.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/activtrak-public.endpoints.activtrak-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/ad--machina-making-science.endpoints.ms--prodport--mkpl--ad.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/adaptive-security-platform-illumio-standalone-saas.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/adaptive-shield.endpoints.adaptiveshield-public.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/adbe-38058669.endpoints.adbe-gcp0739.cloud.goog
Service Name: projects/xxxxxxxxxxxxx/services/addressvalidation.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/adexchangebuyer.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/adexchangeseller.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/adexperiencereport.googleapis.com
Service Name: projects/xxxxxxxxxxxxx/services/adfs-server-2016-cloud-infrastructure-services.cloudpartnerservices.goog
Service Name: projects/xxxxxxxxxxxxx/services/adfs-server-2019-cloud-infrastructure-services.cloudpartnerservices.goog
i zarazem jest to jedyne co udało mi się wyciągnąć z tej bramki, cokolwiek zmieniam w $services gdzie jest projects/$projectId to otrzymuję błąd albo Invlid_argument albo inny, wskazujący, że żądanie jest niepoprawne, albo nawet 404. Nie wiem jak mam składać zapytania używając oficjalnej googlowej biblioteki do tej bramki API. Także może ktoś z Was wie jak ona działa. I czy w ogóle można na starcie zrealizować mój pomysł. Byłbym wdzięczny.
Dopowiem jeszcze, że jak robiłem "parent" => "projects/{$projectId}" to wyrzucał INVALID_ARGUMENT mimo, że w dokumentacji jest jasno napisane
Path parameters
Parameters
parent
string
Parent to search for services on.
An example name would be: projects/123 where 123 is the project number.
Authorization requires the following IAM permission on the specified resource parent:
serviceusage.services.list
czyli jak dobrze rozumiem parametr => wartość, chyba, że coś źle czegoś używam. Dlatego właśnie się pytam, czy ktoś wie jak to działa.
Z góry dzięki