marketo / silverstripe-social-proof
社交媒体跟踪
Requires
- composer/installers: *
- kmayo-ss/twitter-stripe: 1.1.2
- silverstripe/cms: 3.*
- silverstripe/queuedjobs: 2.8.3
This package is not auto-updated.
Last update: 2024-03-15 17:17:35 UTC
README
=======
SilverStripe 社交统计数据模块
维护者联系方式
Kirk Mayo
<kirk (at) solnet (dot) co (dot) nz>
要求
- SilverStripe 3.2
- 创建 cron 作业的访问权限
- https://github.com/silverstripe-australia/silverstripe-queuedjobs
- https://github.com/kmayo-ss/twitter-stripe
文档
该模块用于查询不同网页的社交统计数据,存储这些信息并通过 API 提供这些信息。
设置
Twitter 服务使用另一个 SilverStripe 模块,该模块使用 Oauth 来使用 Twitter API。您需要查阅 Readme 文件(../twitter-stripe/README.md),以获取有关设置 Oauth 详细信息的详细信息。模块 config.yml 还包含一个位于 SocialProofSetting 下的设置,用于将 URL 锁定到某些域。
服务
该模块查询各种社交媒体服务,这些服务通过 config.yml 管理。要添加另一个服务,您需要创建一个具有 service 和 statistics 属性的类,这些属性用于在 URLStatistics 模型中添加行。该类还需要声明一个名为 processQueue 的方法,该方法用于 cron 作业中,这是通过名为 SocialServiceInterface 的接口强制执行的,该接口应在任何未来的服务类中实现。
API 端点
当前存在以下 API 端点
http://socialproof.stripetheweb.com/api/countsfor?urls=http://[urltobeprocessed]
http://socialproof.stripetheweb.com/api/countsfor/service/facebook?urls=[urltobeprocessed]
http://socialproof.stripetheweb.com/api/countsfor/service/twitter?urls=[urltobeprocessed]
http://socialproof.stripetheweb.com/api/countsfor/service/linkedin?urls=[urltobeprocessed]
http://socialproof.stripetheweb.com/api/countsfor/service/linkedin?urls=[urltobeprocessed]
http://socialproof.stripetheweb.com/api/countsfor/service/google?urls=[urltobeprocessed]
接受第三方 AJAX 请求
如果您想允许第三方 JavaScript 请求查询服务(如 AJAX),您需要在 yml 配置中设置 CORS 标志为 true,以便将 Access-Control-Allow-Origin
标头发送回请求的浏览器,如下例所示。
从第三方查询 API 可以使用 jQuery 或 AJAX。以下是一个简单的同步 JavaScript 示例,其中您可以调用具有主机和请求的 requestInfo 函数。
function requestInfo(host, request) { var xhr = new XMLHttpRequest(); xhr.open("GET", host + request, false); xhr.send(); return xhr.response; } // call with the following // var result = requestInfo('http://192.168.0.1/', 'geoip/50.206.151.39.json');
SocialAPI:
allow_cors: true
您还可以使用以下方法添加要处理的域名的 IP 白名单
SocialAPI:
allowed_domains:
- blog4.marketo.com
如果您想将开发域映射到生产域,可以使用以下方法
domain_mapping:
localdomain.dev: blog4.marketo.com
域名也可以使用通配符进行子域匹配
allowed_domains:
- *.marketo.com
allowed_domains:
- *domain.dev: blog4.marketo.com
Composer 安装
composer require solnet/socialproof
待办事项
测试