Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/trivo25/google-alerts-api-php
A PHP library for creating google alert feeds
https://github.com/trivo25/google-alerts-api-php
Last synced: about 1 month ago
JSON representation
A PHP library for creating google alert feeds
- Host: GitHub
- URL: https://github.com/trivo25/google-alerts-api-php
- Owner: Trivo25
- Created: 2021-06-24T13:44:46.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-08-05T11:15:47.000Z (over 3 years ago)
- Last Synced: 2023-03-06T16:17:13.472Z (almost 2 years ago)
- Language: PHP
- Size: 5.86 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# google-alerts-api-php
**_This API Client is still WIP and only allows access to the CREATE and DELETE endpoints for Google Alerts._**
**Thanks to github.com/adasq/google-alerts-api for developing a NodeJS version**
A Google Alerts API that allows you to create Google Alerts via PHP and have them delievered to a RSS feed.
## The API currently only supports
- **creating alerts**
- **Removing alerts**## Usage
#### NOTICE: Login via password and email is not possible (yet?) because google has changed their auth procedure. Only login with pre-defined cookies is working. See below for example
Copy the `GoogleAlert.php` class and the `config.php` from `google-alerts-api/GoogleAlert.php` into your project folder.
Edit the `config.php` and enter your base64 encoded cookies. (See below for an explanation)
(See `google-alerts-api/example.php` for a working example)
```php
// creating a Google Alert object
$ga = new GoogleAlert();/*
creating a new google alertparams default-value explanation
$query *none* required name/title/query for the alert
$lang 'en' language of the alert results; 'en', 'de', 'ru'..
$frequency 'happens' how often new items should be delievered to the feed
$type 'all' type of source for new feed items. All includes blogs, news, etc.
$quantity 'best' returns only best results
*//*
creates the alert and returns the feed and the googleid
(googleid is needed incase you want to delete an alert using the script)
*/
$alert = $ga->create("Satoshi Nakamoto");
echo json_encode($alert);/*
{
"rss": "https://www.google.de/alerts/feeds/somerssfeed/123", // rssfeed: articles will be delivered to this feed
"googleid": "12341234b12341:a112341239364456:com:de:DE" // googleid: needed to delete and modify alerts
}
*/
```Deleting an alert by id
```php
// deleting a Google Alert object
$ga = new GoogleAlert();
$ga->delete("12341234b12341:a112341239364456:com:de:DE");
```### Generating cookies:
Cookies need to be pre-generated. Once you authenticated and logged in using your browser you can easily copy the cookies and save them in the `config.php`.
#### Logging in using the browser
Open Chrome in Incognito mode and login into `http://myaccount.google.com` using the account you want to use.
#### Copy SID, HSDI and SSID
1. Open dev tools
2. Go to **Application** and select **Cookies** for http://myaccount.google.com
3. Copy **SID**, **HSID** and **SSID** values#### Turn your cookies into a base64 encoded auth string
1. Fill your cookie values into the given JSON object
```js
window.btoa(
JSON.stringify([
{
key: "SID",
value: "",
domain: "google.com",
},
{
key: "HSID",
value: "",
domain: "google.com",
},
{
key: "SSID",
value: "",
domain: "google.com",
},
])
);
```2. Copy this code into the Console of your borwser and execute it
3. Copy the output (your auth string) into the `config.php`**Make sure to enable "login from insecure apps" if having any issues connecting**