ユーザーが短縮 URL を作成できる機能を備えた Web サイトを持っています。URL 短縮を処理するために、私はYOURLS (オープンソースの URL 短縮サービス) を使用しています。これは私の別のサーバーで実行し、API 呼び出しを介して 2 つのサイトを接続します。
いくつかのカスタムAPI アクションを使用してYOURLS プラグインを作成したので、ユーザーが短い URL を作成すると、以下に示すように、私の Web サイトからのユーザー ID が yourls_url テーブルに添付されます。
ユーザーが「My Links」ページにアクセスしたときに、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にあまり詳しくないので、かなり長い間これに固執してきました.誰かが私がどこで間違っているか、または例を提供できるかについて何か考えを持っているなら、それは大歓迎です!