本站所搜集的资源均来源于网络,仅供学习研究代码使用,请勿商用
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
Bitly 是创建短链接的好工具,在这篇文章中,我们将使用他们的 API 使用 PHP 动态生成链接。
首先,您需要一个令牌才能访问https://app.bitly.com/settings/api/输入您的密码以生成访问令牌。记下访问令牌。
创建一个名为 link.php 的类,这将是我们创建链接的方式。
输入您的访问令牌。
此类将保存生成的令牌和链接。
class link
{
private string $token = 'your-token-here';
public string $link = '';
创建构造方法并传入 $url、$campaignName、$source 和 $medium
您可能希望将这些设置为可选,但假设我们总是希望在链接上使用 UTM 标签以进行更好的跟踪。
该链接将始终包含 utm_source、utm_medium 和 utm_campaign
public function __construct(string $url, string $campaignName, string $source, string $medium)
{
$source = urlencode($source);
$medium = urlencode($medium);
$campaignName = urlencode($campaignName);
$url = $url."?utm_source=$source&utm_medium=$medium&utm_campaign=$campaignName";
$this->link = $this->createLink($url);
}
我们需要一个链接来从类中返回链接
public function getLink()
{
return $this->link;
}
最后一种方法是使用 curl api 发送请求。
设置 $apiurl,然后初始化 curl,设置要发布到 Bitly 的令牌标头和选项,
最后只返回短链接,如果你想要比短链接更多的信息,你可能想要返回完整的响应。
private function createLink($url)
{
$apiurl = "https://api-ssl.bitly.com/v4/bitlinks";
$curl = curl_init($apiurl);
curl_setopt($curl, CURLOPT_URL, $apiurl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = [
"Content-Type: application/json",
"Authorization: Bearer $this->token",
];
$fields = [
"domain" => "bit.ly",
"long_url" => $url
];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
return json_decode($resp, true)['link'];
}
把它们放在一起:
<?php
class link
{
private string $token = 'your-token-here';
public string $link = '';
public function __construct(string $url, string $campaignName, string $source, string $medium)
{
$source = urlencode($source);
$medium = urlencode($medium);
$campaignName = urlencode($campaignName);
$url = $url."?utm_source=$source&utm_medium=$medium&utm_campaign=$campaignName";
$this->link = $this->createLink($url);
}
public function getLink()
{
return $this->link;
}
private function createLink($url)
{
$apiurl = "https://api-ssl.bitly.com/v4/bitlinks";
$curl = curl_init($apiurl);
curl_setopt($curl, CURLOPT_URL, $apiurl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = [
"Content-Type: application/json",
"Authorization: Bearer $this->token",
];
$fields = [
"domain" => "bit.ly",
"long_url" => $url
];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
return json_decode($resp, true)['link'];
}
}
用法
要创建新链接,请创建链接类的新实例,传入您的选项,然后调用 ->getLink() 以获取短链接。
$url = 'https://example.com/post/some-post';
$campaignName = 'marketing-run';
$source = 'Twitter';
$medium = 'Tweet';
$link = new link($url, $campaignName, $source, $medium);
$shortUrl = $link->getLink();
当您运行时,您将获得短链接,您可以在 bitley 仪表板中看到您的链接和统计信息,包括 utm 标签。
你可以使用这个类来自动化短链接,例如可以自动为每个新的博客文章创建一个短链接。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。