Google Plus
Das Google.Plus-Modul ist eine Referenzimplementierung, die auf den Einzelbedarf anzupassen ist. Es bezieht in dieser Implementierung die 25 neusten Aktivitäten aus der bezeichneten Seite (Person oder Seite) und gibt diese aus.
<?php /** * Google Plus API implementation. * * @author Andreas Kummer, w3concepts AG * @copyright Copyright © 2012, w3concepts AG * * @link https://developers.google.com/+/api/ Google+ API Documentation */ class Module_Google_Plus_Class extends Aitsu_Module_Abstract { protected $_cacheIfLoggedIn = true; protected $_disableCacheArticleRelation = true; protected $_apiKey = null; protected $_userId = null; protected $_endPoint = null; protected function _init() { $this->_apiKey = Aitsu_Config :: get('google.api.key'); $this->_userId = Aitsu_Content_Config_Text :: set( $this->_index, 'Google.Plus.UserId', 'User ID', 'Google+ User ID' ); $this->_endPoint = 'https://www.googleapis.com/plus/v1/people/' . $this->_userId . '/activities/public'; $this->_id = $this->_endPoint; } protected function _main() { if (empty($this->_userId)) { return ''; } $client = new Zend_Http_Client($this->_endPoint, array ( 'maxredirects' => 0, 'timeout' => 30 )); $client->setParameterGet(array ( 'key' => $this->_apiKey, 'maxResults' => 25 )); $response = $client->request(); $view = $this->_getView(); $view->data = json_decode($response->getBody()); return $view->render('index.phtml'); } protected function _cachingPeriod() { /* * 1 hour. */ return 3600; } }
Anpassungen sind in der Praxis in erster Linie in folgendem Template vorzunehmen:
<?php foreach ($this->data->items as $item) : ?> <div style="border:1px dotted grey; padding:2px 5px 2px 5px; margin-bottom:10px;"> <p style="margin:0;"><?php echo $item->object->content; ?></p> <?php if (isset($item->object->attachments)) : ?> <?php foreach ($item->object->attachments as $att) : ?> <?php if ($att->objectType == 'photo') : ?> <img src="<?php echo $att->image->url; ?>" title="<?php echo $att->content; ?>" /> <?php elseif ($att->objectType == 'article') : ?> <h3><?php echo $att->displayName; ?></h3> <p><?php echo $att->content; ?></p> <?php endif; ?> <?php endforeach; ?> <?php endif; ?> </div> <?php endforeach; ?>
Ein Standard-Template mit optimiertem HTML-Markup folgt demnächst.
Voraussetzungen
- Sie müssen die Anwendung (d.h. die Website) bei Google Code als API-nutzende Anwendung registrieren und sich einen API-Schlüssel erstellen lassen: Google APIs Console
- Diesen Schlüssel müssen sie in der /application/config/config.ini als google.api.key transparent machen.
- Dann muss lediglich das Modul nach dem Einbinden konfiguriert werden. Dazu ist nur die Bezeichnung der Seiten-ID (Person oder Seite) erforderlich.
Weiterführende Links
Administrationsoberfläche für Services von Google.
Neu in Entwicklung: Google Maps-Shortcode mit Referenzierung von mehrereren Standorten.