Здесь все написано.
Этот код одноразовый и может быть использован в течение 1 часа. Для получения нового access_token (а каждый раз получать заново его вовсе не требуется) нужно получить новый code.
Сам фильтр не на js, а на сервере конечно. Вообще, для реляционных БД типа mysql в этом случае используется модель хранения данных EAV. Вот здесь например написано про это.
Если я правильно себе это представляю, то можно так:
Просто делаете кольцо, которое находится поверх блока. Оно на него накладывается и создается требуемый визуальный эффект.
Пример бы, а то непонятно