Ve výchozím nastavení Excel Office 2000-XP-2003 zakazuje možnost spouštění maker třetích stran. V vynikat přejděte do nabídky Nástroje>>Makro>>Zabezpečení. Na kartě " Důvěryhodní vydavatelé» zaškrtněte políčko « Trust Access Visual Basic projekt»

Nastavení Office 2007
1) Tlačítko "Kancelář".

2) Centrum důvěryhodnosti >> Možnosti centra zabezpečení


3) Nastavení maker >> zaškrtněte políčko „Důvěřovat přístupu k objektový model projekty VBA"

Souhrnné hlášení je zpracováno podle aktivních údajů! Tito. Jsou na něm překryty výběry „panelu výběru“ (filtry, ale nikoli seskupení tabulek), karty „Příjmy“, „Výdaje“....

Chcete-li sestavit grafy v Excelu, klikněte v souhrnné zprávě na Vložit >> Graf a vyberte data v průvodci přípravou grafu. Více se dočtete v nápovědě MS Office v sekci "Kontingenční tabulky".

Zpráva zaručeně funguje rus-en verze systému Windows.

Sestavy v Excelu jsou vytvářeny na základě šablon. Zásuvné šablony jsou umístěny ve složce Moje zpráva ve složce Domácí finance, na jejich základě můžete vytvořit vlastní šablony které budou v programu k dispozici.

Stručná zpráva umožňuje tisknout obsah tabulky s jiným mechanismem pro výpočet součtů.

Všestranný nástroj pro podávání zpráv je nahrát do HTML odpovídající tabulky, při zachování všech nastavení a seskupení. OTEVŘENO HTML dokument lze otevřít téměř v jakékoli aplikaci MS Office.

V tomto tutoriálu se naučíme takovou věc, jako je skrývání chyb PHP. Cestou se také podíváme na to, jak nejen potlačit výstup těchto chyb, ale také jak je zapsat do log souboru, jak tento log soubor ochránit, jak nastavit úroveň hlášení chyb PHP (jak závažné chyby zobrazit, zda zobrazit varování), naučte se, jak nastavit maximální velikost chybové řádky a vypněte záznam opakovaných chyb.

Měly by být chyby PHP skryté?

Chyby PHP poskytují širokou škálu informací, které umožňují útočníkům shromažďovat data o vašem webu a vašem serveru. Pokud by ale tato otázka měla jednoznačnou odpověď „ano“, pak by se vše vyřešilo přidáním jednoho řádku do každého souboru s programy PHP

error_reporting(0);

Ve skutečnosti by se ve fázi testování měly zobrazit všechny chyby, včetně varování (nekritických chyb). Výstup chyb a varování také pomůže pochopit existující (nebo možné) problémy v pracovním prostředí. Nepotlačujte chybový a varovný výstup v programech určených k bezplatné distribuci, protože pokud se vyskytnou problémy, všechna uživatelská hlášení problémů budou stejná: „je bílá obrazovka“, což velmi znesnadní pokusit se na to přijít.

Obecně platí, že na vývojových serverech (např. domácí server), nemusíte chyby a varování PHP čistit pomocí metod error_reporting(0); a @ - musíte studovat jejich příčiny a opravit je zdroj.

Na fungujících serverech se důrazně doporučuje neukazovat všem chyby, které se vyskytly v kódu PHP, ale doporučuje se nejen potlačit jejich zobrazování, ale také si o nich vést protokol, zapisovat si je pro správce systému a pro PHP programátora - z těchto logů budou dostávat důležitá informace o možné problémy web/server.

Jak povolit protokolování chyb PHP pomocí .htaccess

V této části tutoriálu ukážu uživatelům Apache, jak potlačit chybový výstup PHP a skrýt je před návštěvníky, přičemž bude povoleno protokolování chyb PHP pro další analýzu, veškerá tato konfigurace se bude provádět prostřednictvím souboru .htaccess.

Obecně má tato metoda ještě jednu velkou výhodu - místo abychom se snažili zachytit všechny PHP chyby a varování, každou si zapíšeme do našeho osobního logu, díky tomu neunikne ani jedna chyba, i když k ní nedošlo vy a někdo, kdo navštíví vaše stránky za podmínek, které by vás možná u modelingu ani nenapadly. Díky, existuje snadný způsob, jak implementovat tuto efektivní strategii.

Skrytí chyb PHP před návštěvníky

Tady je různé způsoby potlačit chyby PHP pomocí .htaccess. Toho lze dosáhnout zahrnutím následujících direktiv .htaccess do souboru httpd.conf vaší domény nebo do kořenového (nebo jakéhokoli jiného cílového adresáře) souboru .htaccess s následujícím obsahem:

# potlačit chyby php php_flag display_startup_errors vypnuto php_flag display_errors vypnuto php_flag html_errors vypnuto php_value docref_root 0 php_value docref_ext 0

To způsobí, že chyby PHP již nebudou na vašem webu veřejné. To eliminuje potenciální bezpečnostní rizika a zabraňuje těmto ošklivým, nejasným chybám PHP narušit rozložení vašeho webu a zmást vaše návštěvníky. K tomu není potřeba žádná úprava kódu.

Povolení osobního protokolování chyb PHP

Nyní, když jsme skryli chyby PHP před veřejností, povolme protokolování, abychom je mohli sledovat. To se provede přidáním následujících direktiv .htaccess do souboru httpd.conf vaší domény nebo do vašeho souboru .htaccess umístěného v kořenovém (nebo libovolném cílovém) adresáři.

# zahrnutí PHP záznamy php_flag errors log_errors na php_value error_log /home/path/public_html/domain/PHP_errors.log

Aby to fungovalo, musíte upravit cestu na posledním řádku tak, aby odpovídala skutečnému umístění vašeho souboru PHP_errors.log. Samozřejmě spolu s tím musíte vytvořit tento soubor a v případě potřeby mu udělit oprávnění 755 nebo 777. Nakonec musíte tento soubor protokolu zabezpečit přidáním těchto posledních řádků kódu do souboru .htaccess:

# zabránit přístupu k protokolu chyb PHP

Nyní, když je vše na svém místě, zkontrolujte, zda vše funguje, jak má, vyvolejte několik chyb PHP. Můžete také otestovat zabezpečení souboru protokolu pokusem o přístup k němu prostřednictvím prohlížeče.

Pokročilé zpracování chyb PHP pomocí .htaccess

Pojďme se nyní ponořit hlouběji do tohoto tématu, přidat další funkce a prozkoumat různé implementace. Nejprve se podíváme na zpracování chyb PHP pro produkční prostředí (např. webové stránky a aplikace, které jsou online, aktivní a veřejné), poté se podíváme na zpracování chyb pro vývojářské prostředí (např. projekty ve vývoji, testování, soukromé atd.) .

Řízení úrovně chybových zpráv PHP

Pomocí .htaccess je možné přizpůsobit úroveň hlášení chyb tak, aby vyhovovala vašim praktickým potřebám. Obecná pevnost pro řízení chybovosti PHP je následující:

# obecný pohled na směrnici pro nastavení úrovně chyb php php_value error_reporting number

Existuje několik běžných hodnot, které lze nahradit „číslo“, včetně:

  • Nejúplnější chybová zpráva(odpovídá E_ALL) - k tomu použijte hodnotu "32767".
  • Úplná chybová zpráva- pro úplné protokolování chyb PHP použijte hodnotu "8191", která bude zahrnovat protokolování všeho kromě upozornění za běhu o použití zastaralých konstrukcí (upozornění na kód, který nebude fungovat v další verze PHP).
  • Chybová zpráva Zend- pro zaznamenání kritických i nezávažných varování při kompilaci generovaných skriptovacím enginem Zend použijte "192".
  • Základní chybová zpráva- zaznamenejte upozornění za běhu. Označuje, že se během provádění skriptu stalo něco, co může naznačovat chybu, i když k tomu může dojít i během normálního provádění programu. K tomu použijte číslo "8".
  • Minimální chybová zpráva- Protokolujte pouze závažné chyby za běhu. Jedná se o chyby, které nelze obnovit pomocí samotného skriptu, jako je chyba alokace paměti atd. Provádění skriptu je v tomto případě ukončeno. K tomu použijte číslo "1".

Samozřejmě můžete použít i jiné hodnoty („čísla“) doladění jaké chyby chcete opravit. Nějaké vysvětlení k této otázce úplně dole.

Nastavení maximální velikosti souboru pro vaše chybové záznamy

Pomocí .htaccess můžete definovat maximální velikost pro vaše chyby PHP. To znamená kontrolu velikosti každé zaznamenané chyby, nikoli celého souboru jako celku. Syntaxe je následující:

# obecná směrnice pro nastavení maximální velikosti chyby log_errors_max_len integer_number

Zde "celé_číslo" představuje maximální velikost každého zaznamenaného chybového řádku v bajtech. Výchozí hodnota je "1024" (tj. 1 kilobajt). Chcete-li tento limit odstranit, můžete nastavit hodnotu na "0". Všimněte si, že tato hodnota platí také pro zobrazené chyby, pokud jsou povoleny (například během vývoje).

Zakázat protokolování opakujících se chyb

Pokud jste již s chybovým logem pracovali, možná jste si všimli, že je v něm mnoho podobných záznamů, které se liší pouze časem události. Této nadbytečnosti se můžete zbavit jednoduchým přidáním těchto řádků do souboru htaccess:

# zakázat protokolování opakovaných chyb php_flag ignore_repeated_errors on php_flag ignore_repeated_source on

S tímto nastavením nebudou zaznamenány opakované chyby, i když k nim došlo v různých zdrojích nebo na různých adresách. Pokud chcete zakázat opakující se chyby pouze z jednoho zdroje nebo souboru, stačí zakomentovat nebo odstranit poslední řádek. A naopak, abyste se ujistili, že váš soubor protokolu událostí obsahuje všechny opakující se chyby, změňte obě hodnoty na na vypnuto.

Dát to všechno dohromady – pracovní prostředí

Když jsme probrali specifika konfigurace záznamu chyb PHP, shromážděme všechny naše záznamy chyb do jediného souboru .htaccess. Tato nastavení jsou optimalizována pro pracovní prostředí.

# обработка ошибок PHP для рабочего сервера php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /home/path/public_html/domain/PHP_errors. log php_value error_reporting -1 php_value log_errors_max_len 0 Objednávka povolit, odepřít Odmítnout všem Satisfy All

Pokud považujete kód s vysvětlením za dobrý styl, pak stejný kód, ale s komentáři:

# Zpracování chyb PHP pro produkční server # zakázat zobrazování chyb spouštění php_flag display_startup_errors vypnuto # zakázat zobrazování všech ostatních chyb php_flag display_errors vypnuto # zakázat html chyby značkování php_flag html_errors vypnuto # povolit protokolování chyb php_flag log_errors zapnuto # povolit ignorování opakovaných chyb php_flag ignore_repeated_errors vypnuto # zakázat ignorování chyb z jedinečných zdrojů php_flag ignore_repeated_source vypnuto # povolit protokolování úniku paměti php php_flag report_memleaks zapnuto # uložit většinu nedávné chyby via php_errormsg php_flag track_errors on # deaktivovat odkaz na chybu formátování odkazy php_value docref_root 0 # zakázat odkazy na odkaz na chybu formátování php_value docref_ext 0 # zadat cestu k souboru protokolu chyb php php_value error_log /home/path/public_html/domain.log #php chyby php_value error_reporting -1 # zakázat maximální délku řetězce chyb php_value log_errors_max_len 0 # chránit soubor protokolu chyb před veřejným přístupem Objednávka povolit, odepřít Odmítnout všem Satisfy All

Výše uvedená strategie je ideální pro veřejný server v produkčním prostředí. Všechny chyby jsou skryté před zvědavýma očima, zatímco jsou pečlivě shromažďovány pro administrátory a programátory. Výše uvedené směrnice si samozřejmě můžete přizpůsobit tak, aby dokonale vyhovovaly vašim potřebám. Nyní se podíváme na strategii zpracování chyb pro vývojové prostředí.

Dáme to všechno dohromady – vývojové prostředí

Při vývoji nebo ladění programu je pohodlnější sledovat chyby PHP v reálném čase, přímo v prohlížeči. Níže je uveden příklad .htaccess s příslušným nastavením pro vývojové prostředí:

# работа с ошибками PHP для серверов разработчиков php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /home/path/public_html/domain/PHP_errors .log php_value error_reporting -1 php_value log_errors_max_len 0 Objednávka povolit, odepřít Odmítnout všem Satisfy All

Nebudeme vysvětlovat každý řádek - odpovídající vysvětlení můžete vidět o něco výše.

Rady

Chcete-li zjistit absolutní cestu k souboru protokolu na serveru pomocí metod PHP (pro direktivu php_value error_log)

echo dirname(__FILE__);

Příklad .htaccess pro .

php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log C:ServerdatahtdocsPHP_errors.log php_value error_reporting -1 php_value log_errors_max_len 0 Objednávka povolit, odepřít Odmítnout všem Satisfy All

Nefunguje

Tato metoda není použitelná na hostingech, kde PHP funguje jako CGI(možná řešení si ukážeme v dalším článku).

-1 a ~0 pro zobrazení všech chyb PHP

Ve směrnici php_value error_reporting pro zobrazení všech chyb můžete zadat -1 nebo ~0 . Tito. řádky vypadají takto:

php_value error_reporting -1 php_value error_reporting ~0

Navíc je to druhá metoda, která je považována za správnější, tj ~0 .

Předdefinované konstanty a bitové operace hlášení chyb

  • Předdefinované konstanty
  • Bitové operátory

Například pokud chceme psát POUZE následující chyby E_ERROR (hodnota 1), E_WARNING (hodnota 2), E_CORE_ERROR (hodnota 16), pak pro získání odpovídající číselné hodnoty by bylo nutné tyto hodnoty převést na binární čísla a provést odpovídající bitové operace a poté výsledný binární číslo převést na desítkové. Tuto operaci však lze zjednodušit - stačí přidat hodnoty desetinných čísel. Tito. v našem případě je to 1+2+16=19

php_value error_reporting 19

zobrazí chyby E_ERROR, E_WARNING a E_CORE_ERROR.

Příklad absolutní cesty k souboru protokolu na hostingu Hostland (pro direktivu php_value error_log)

/home/host900456/website/blogs/htdocs/www/PHP_errors.log

Namísto hostitel900456 musíte zadat svůj účet.

Namísto webová stránka musíte zadat svou doménu.

Mimochodem, dobrý hosting, který provozuje právě tento web. Doporučeno!

Článek popisuje funkcionalitu, která je k dispozici v PHP (relevantní pro 5.3.x) pro zpracování všech typů chyb, včetně chyb interpretace kódu (E_ERROR, E_PARSE, E_WARNING atd.). Toto zpracování vám pomůže řídit zobrazení stránky v případě takových problémů. Článek obsahuje mnoho popisů a pracovních příkladů (architektura), abyste jej mohli okamžitě použít ve svém softwarový produkt. Nakonec, no, trochu nabourali stránky, no, je potřeba o tom vyhledávač informovat nadpisem 4xx nebo 5xx a pobavit uživatele, místo aby se vrátil bílá obrazovka(nebo horší než obrazovka s posvátnými informacemi pro hackery) s odpovědí 200 Ok.

Nápad napsat toto téma vznikl, když jsem odvážně položil 2 otázky:

  • Otázka o
  • Otázka o
Podle karmy a přidávání do oblíbených jsem si uvědomil, že se ukázaly být zajímavé pro komunitu PHP habra. Z tohoto důvodu jsem se rozhodl vydat řešení těchto problémů ve formě článku, aby bylo pro lidi a vyhledávače snazší a obsáhlejší najít potřebné informace.

Pokud máte zájem, tak detaily jsou pod řezem ...

Důvody použití

Uživatel / vyhledávač musí jasně odpovědět, že na serveru jsou problémy. Bez použití určitého Feng Shui je toho docela těžké dosáhnout a někdy i nemožné. Zde jsem to všechno osvětlil, nechávám si poznámku pro sebe, protože před týdnem jsem nevěděl, co si vzít na sebe, a pravděpodobně to mnoho začátečníků také odradí.

Popisy funkcí

Tato funkce je k dispozici v PHP pro zpracování chyb a řízení výstupu. Zde je popis jejich vychytávek a nedostatků. Nebudu poskytovat dokumentaci, pouze odkážu na její stránky a popíšu svůj názor. Vše, co bude uvedeno, je jen malý zlomek, odkazy na příslušné sekce dokumentace uvedu na konci článku. Tak se sejdeme:

- Kontrola nekritických chyb: poznámky, varování, vlastní chyby. Obecně vše, co nenormálně nekončí výklad.
set_error_handler – sady definované uživatelem obsluha chyb.
Je potřeba, aby se všechny takové chyby zapsaly do protokolu. Pokud není nastaven, tak se do logu nezapisuje, ale vždy chci vědět, pod jakými bojovými situacemi lze volat komentáře a varování. To znamená, že umožňuje uživateli automaticky testovat produkt a ani si toho nevšimne.
Pokud funkce není nastavena, tak se PHP snaží pouze zobrazovat data na obrazovce, a pokud to není dáno, pak na těchto typech chyb nejsou vůbec žádné známky života.

- Kontrola, výjimky: je chyba typu E_ERROR.
set_exception_handler - Nastaví vlastní obslužnou rutinu výjimky
No, nevím, proč to vůbec bylo vymyšleno, když je tam to, co je popsáno níže a jen řeší chybu typu Exception. Hlásím tedy, že prostě existuje. Ona zachytí kritická chyba"výjimka" a umožňuje s tím něco dělat. V každém případě scénář končí. Mně osobně její práce standardně stačí (zapisuje do logů, snaží se zobrazit). Vůbec bych to nepředefinoval, jinak bych musel psát do logů o výjimce, která se stala.

- Funkce ovládání výstupu: Zde popíšu 3 ​​funkce, které byste měli znát z různých důvodů. Například pro nebo pro problémy s výstupem záhlaví. V našem případě potřebujeme zobrazit chybové hlavičky.

Podmínky
Existuje soubor s kódem, který běží jako první nebo před kódem, ve kterém může nastat chyba, a tento soubor a všechny soubory před ním jsou 100% odladěny s nemožností chyby. Zde je podmínka, která by byla jednodušší – bez chyb, dokud neprojdou všechny registrace výše uvedených funkcí. Tento soubor popisuje tyto metody kontroly chyb v komplexu. Vyrovnávací paměť je řízena, pokud dojde k chybě, resetujte vyrovnávací paměť a zobrazí se chyba.
Kód s komentáři
Sám dodám, že jsem kód netestoval, protože toto je zjednodušený diagram toho, co mám v kódu, komentáře jsou přijímány

Většina funkcí dostupných při spuštění Skener AI-BOLIT v režimu příkazový řádek. To lze provést jak pod Windows/Unix/Mac OS X, tak přímo na hostingu, pokud máte přístup přes SSH a hosting nijak výrazně neomezuje spotřebované zdroje procesoru.

Vezměte prosím na vědomí, že ke spuštění skeneru je vyžadována konzolová verze PHP 5.3 nebo novější. Verze 5.2 bude mít v /home/XXX/ai-bolit.php on line chybu "Chyba analýzy: chyba syntaxe, neočekávaný T_STRING, očekává se T_OLD_FUNCTION nebo T_FUNCTION nebo T_VAR nebo ")". Šek současná verze příkaz php -v

Reference parametrů příkazového řádku skeneru AI-BOLIT

Zobrazit nápovědu

php ai-bolit.php --help

php ai-bolit.php --skip=jpg,png,gif,jpeg,JPG,PNG,GIF,bmp,xml,zip,rar,css,avi,mov

Skenovat pouze konkrétní rozšíření

php ai-bolit.php --scan=php,php5,pht,phtml,pl,cgi,htaccess,suspected,tpl

Připravte soubor karantény pro odeslání bezpečnostním specialistům. Archiv AI-QUARANTINE-XXXX.zip bude vytvořen s heslem.

php ai-bolit.php --karanténa

Spusťte skener v "paranoidním" režimu (doporučeno pro získání co nejpodrobnější zprávy)

php ai-bolit.php --mode=2

php ai-bolit.php --mode=1

Zkontrolujte jeden soubor „pms.db“, zda neobsahuje škodlivý kód

php ai-bolit.php-jpms.db

Spusťte skener s velikostí paměti 512 Mb

php ai-bolit.php --memory=512M

Nastavte maximální velikost naskenovaného souboru na 900 kb

php ai-bolit.php --size=900K

Pauza 500 ms mezi soubory při skenování (pro snížení zatížení)

php ai-bolit.php --delay=500

Odeslat zprávu o skenování e-mailem [e-mail chráněný]

php ai-bolit.php [e-mail chráněný]

Vytvořte zprávu v /home/scanned/report_site1.html

php ai-bolit.php --report=/home/scanned/report_site1.html

Prohledejte adresář /home/s/site1/public_html/ (pokud není nastavena možnost --report=report_file, bude sestava standardně vytvořena v tomto adresáři)

php ai-bolit.php --path=/home/s/site1/public_html/

Po dokončení skenování proveďte příkaz.

php ai-bolit.php --cmd="~/postprocess.sh"

Získejte přehled ve formátu prostého textu s názvem site1.txt

php ai-bolit.php-lsite1.txt

Hovory můžete kombinovat např.

php ai-bolit.php --size=300K --path=/home/s/site1/public_html/ --mode=2 --scan=php,phtml,pht,php5,pl,cgi,podezření

Kombinací volání skeneru AI-BOLIT s dalšími unixovými příkazy můžete provádět například dávkovou kontrolu stránek. Níže je uveden příklad kontroly několika webů hostovaných v rámci účtu. Pokud jsou například stránky umístěny v adresáři /var/www/user1/data/www, příkaz ke spuštění skeneru bude

najít /var/www/user1/data/www -maxdepth 1 -type d -exec php ai-bolit.php --path=() --mode=2 \;

Přidáním volby --report můžete ovládat adresář, ve kterém se budou generovat zprávy o skenování.

php seznam parametrů ai-bolit.php ... --eng

Přepněte rozhraní sestav do angličtiny. Tento parametr musí být poslední.

Integrace s dalšími službami a hostovacím panelem

php ai-bolit.php --json_report=/cesta/soubor.json

Vygenerujte zprávu ve formátu json

php ai-bolit.php --progress=/path/progress.json

Uložte stav kontroly do souboru ve formátu json. Tento soubor bude obsahovat strukturovaná data ve formátu json: aktuální skenovaný soubor, kolik souborů bylo naskenováno, kolik souborů zbývá ke kontrole, procento kontroly, čas do dokončení kontroly. Tento mechanismus lze použít k zobrazení ukazatele průběhu a dat o kontrolovaných souborech v panelu. Po dokončení skenování se soubor automaticky odstraní.

php ai-bolit.php --handler=/cesta/hander.php

Externí obsluha události. Můžete přidat vlastní obslužné rutiny pro spuštění/zastavení skenování/průběh skenování/chyby skenování. Příklad souboru lze nalézt v archivu skeneru v adresáři tools/handler.php. Například po dokončení kontroly můžete se souborem zprávy něco udělat (poslat jej poštou, zabalit do archivu atd.).

V tomto článku se dozvíte, jak nastavit autorizaci v rozhraní Analytics Reporting API verze 4.

Poznámka.Účelem těchto rychlé průvodce– pomozte uživateli spustit pomocí . Protože jsou tyto knihovny neustále aktualizovány, informace o nedávné změny nemusí tu být. Pokud jste nenašli potřebné informace, podívejte se a.

1. Povolte rozhraní API

Než začnete používat rozhraní Analytics Reporting API verze 4, použijte k vytvoření projektu v konzole Google API, aktivaci rozhraní API a registraci svých přihlašovacích údajů.

Vytvořte přihlašovací údaje

Poznámka.Klikněte na žádost Vytvořte nový soukromý klíč. Pro parametr Typ klíče vyberte hodnotu JSON a poté uložte vygenerovaný klíč jako client_secrets.json . Budete to potřebovat později.
  1. OTEVŘENO . V případě potřeby vyberte projekt.
  2. Klikněte Vytvořte servisní účet.
  3. Zadejte název účtu a vyberte Vytvořte nový soukromý klíč. Poté stiskněte tlačítko Uložit.

Systém vygeneruje nový pár klíčů (veřejný a soukromý), který se uloží do vašeho počítače. Tato kopie je jediná a je vaší odpovědností ji udržovat.

Přidejte servisní účet do Google Analytics

Nový servisní účet bude mít adresu E-mailem tohoto typu:

[e-mail chráněný]

Pomocí této adresy přidejte uživatele do zobrazení Google Analytics, ke kterému chcete přistupovat prostřednictvím rozhraní API. K provádění úkolů v této příručce potřebujete pouze oprávnění Číst a analyzovat.

2. Nainstalujte klientskou knihovnu

skladatel vyžaduje google/apiclient:^2.0

3. Upravte příklad

Musíte vytvořit soubor HelloAnalytics.php s kódem pro tento příklad.

  • Zkopírujte nebo vložte zdrojový kód níže a přidejte jej do souboru HelloAnalytics.php.
  • Přesuňte stažený klíč service-account-credentials.json do stejného adresáře jako ukázkový kód.
  • Změňte hodnotu VIEW_ID. K nalezení tohoto nastavení použijte nástroj Průzkumník účtů.

HelloAnalytics.php

setApplicationName("Hello Analytics Reporting"); $client->setAuthConfig($KEY_FILE_LOCATION); $client->setScopes(["https://www.googleapis.com/auth/analytics.readonly"]); $analytics = new Google_Service_AnalyticsReporting($client); návrat $analytics; ) /** * Dotazuje se na rozhraní Analytics Reporting API V4. * * @param service Autorizovaný objekt služby Analytics Reporting API V4. * @return Odpověď rozhraní Analytics Reporting API V4. */ function getReport($analytics) ( // Nahraďte svým ID zobrazení, například XXXX. $VIEW_ID = " "; // Vytvořte objekt DateRange. $dateRange = new Google_Service_AnalyticsReporting_DateRange(); $dateRange->setStartDate("7daysAgo"); $dateRange->setEndDate("today"); // Vytvořte objekt Metrics. $sessions = new Google_Service_AnalyticsReporting_Metric(); $sessions->setExpression("ga:sessions"); $sessions->setAlias("sessions"); // Vytvoření objektu ReportRequest. $request = new Google_Service_AnalyticsReporting_ReportRequest(); $request->setViewId($ VIEW_ID); $request->setDateRange($dateRange); $request->setMetrics(array($sessions)); $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); $body->setReportRequests(array($request)); return $analytics ->reports->batchGet($body); ) /** * Analyzuje a vytiskne odpověď Analytics Reporting API V4. * * @param Odpověď Analytics Reporting API V4. */ function printResults($reports) ( pro ($reportIndex = 0;$reportIndex< count($reports); $reportIndex++) { $report = $reports[ $reportIndex ]; $header = $report->getColumnHeader(); $dimensionHeaders = $header->getDimensions(); $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); $rows = $report->getData()->getRows(); for ($rowIndex = 0; $rowIndex< count($rows); $rowIndex++) { $row = $rows[ $rowIndex ]; $dimensions = $row->getDimensions(); $metrics = $row->getMetrics(); pro ($i = 0; $i< count($dimensionHeaders) && $i < count($dimensions); $i++) { print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); } for ($j = 0; $j < count($metrics); $j++) { $values = $metrics[$j]->getValues(); pro ($k = 0; $k< count($values); $k++) { $entry = $metricHeaders[$k]; print($entry->getName() . ": ". $values[$k] . "\n"); ))))))

4. Spusťte příklad

Spusťte příklad pomocí následujícího kódu:

HelloAnalytics.php

Po dokončení všech kroků se na obrazovce zobrazí počet relací ve vybraném zobrazení za posledních sedm dní.

Poznámka. K úspěšnému spuštění příkladu budete potřebovat alespoň jeden zdroj a jedno zobrazení Google Analytics.