manuxi / google-reviews-bundle
一键获取谷歌评论的捆绑包
v1.0.3
2023-10-29 20:33 UTC
Requires
- php: ^7.1|^8.0
- ext-curl: *
- ext-json: *
- symfony/cache: ^4.0 || ^5.0 || ^6.0
- symfony/config: ^4.0 || ^5.0 || ^6.0
- symfony/dependency-injection: ^4.0 || ^5.0 || ^6.0
- symfony/framework-bundle: ^4.0 || ^5.0 || ^6.0
- symfony/http-kernel: ^4.0 || ^5.0 || ^6.0
- symfony/monolog-bundle: ^3.6
- symfony/property-access: ^4.0 || ^5.0 || ^6.0
- symfony/serializer: ^4.0 || ^5.0 || ^6.0
- symfony/twig-bundle: ^4.0 || ^5.0 || ^6.0
- symfony/yaml: ^4.0 || ^5.0 || ^6.0
Requires (Dev)
- jangregor/phpstan-prophecy: ^0.8
- matthiasnoback/symfony-dependency-injection-test: ^4.2
- symfony/debug-bundle: ^4.0 || ^5.0 || ^6.0
- symfony/phpunit-bridge: ^4.0 || ^5.0 || ^6.0
README
我创建了这个捆绑包,以便轻松获取谷歌评论,因为我没有找到做得很好的扩展。使用Curl从谷歌地点API抓取数据。为了避免过度使用API,可以将结果缓存(请参阅配置选项)。评论数据被反序列化为模型以供进一步使用。
使用以下命令安装包
composer require manuxi/google-reviews-bundle
如果您不使用Symfony Flex,您还需要在您的 config/bundles.php
文件中添加此捆绑包
Manuxi\GoogleReviewsBundle\ManuxiGoogleReviewsBundle::class => ['all' => true],
使用方法
// src/Controller/MyController.php use Manuxi\GoogleReviewsBundle\ManuxiGoogleReviews; // ... class MyController { public function index(ManuxiGoogleReviews $googleReviews) { $reviews = $googleReviews->getReviews(); $overallCount = $googleReviews->getReviewsCount(); // ... } }
您也可以直接使用id manuxi_google_reviews.google_reviews
访问此服务。
您可以修改评论的偏移量和长度
// ... $reviews = $googleReviews->getReviews(2, 3); //returns 3 elements, starting at offset 2 // ...
Twig使用
该扩展提供了两个twig函数,可以为您提供总计数和评论本身。
{% for review in get_google_reviews(1,2) %} {{ dump(review) }} {% endfor %}
配置
要使用此扩展,请参阅https://developers.google.com/maps/documentation/embed/get-api-key 获取您的API密钥。您还需要特定业务伙伴的CID。获取它请参阅此处:https://www.sterlingsky.ca/how-to-find-the-cid-number-on-google-maps/。
该扩展通过创建一个新的 config/packages/manuxi_google_reviews.yaml
文件直接配置。所提到的api-key和cid必须像默认值一样放置在此处
# config/packages/manuxi_google_reviews.yaml manuxi_google_reviews: connector: # api-key api_key: # CID cid: # locale, defaults to en locale: en cache: # I suggest caching! enabled: true pool: cache.app ttl: 86400
贡献
为了简单起见,此扩展保持小巧。它仅在我的小型谷歌账户上进行了测试(其中只有5条评论)。请随时提交问题或拉取请求,我很高兴得到反馈以改进此扩展 :)