我有一个网站,它具有允许用户创建缩短 URL 的功能。为了处理 URL 缩短,我使用了YOURLS(一种开源 URL 缩短器),它在我的另一台服务器上运行,并通过 API 调用连接两个站点。
我创建了一个带有一些自定义API 操作的YOURLS 插件,因此当用户创建一个短 URL 时,它会将他们的用户 ID 从我的网站附加到 yourls_url 表,如下所示:
当用户访问他们的“我的链接”页面时,我需要进行 API 调用以返回该用户创建的所有短 URL。为此,它应该像为“ api_result_stats ”创建过滤器一样简单。
这是我创建的过滤器,假设只返回指定用户创建的 URL:
yourls_add_filter( 'api_result_stats', 'separate_users_api_stats' );
function separate_users_api_stats() {
global $ydb;
$user = ( isset( $_REQUEST['user'] ) ? $_REQUEST['user'] : '' );
$table = YOURLS_DB_TABLE_URL;
$result = $ydb->query("SELECT * FROM `$table` WHERE `user` = '" . $user . "'");
return $result > 0;
}
为了测试这一点,我可以尝试 http://example.com/yourls-api.php?action=stats&user=test123&limit=10&filter=last&signature=xxxxxxxxxx
,但不幸的是,我收到的只是:
我对 PHP/MYSQL 不太熟悉,所以我已经坚持了很长一段时间了,如果有人对我哪里出错有任何想法或者可以提供一个例子,我将不胜感激!