Вызов API для подсчета пользователей в Интернет-магазине Chrome?

У меня есть расширение в Интернет-магазине Chrome, и мне нравится приблизительно знать, сколько людей используют его, с помощью "N пользователей" и рейтингов на своей странице.

Однако мне не очень нравится загружать всю страницу «продукта» только для того, чтобы увидеть пару цифр, и я подумал, что попробую сделать небольшой виджет, который вместо этого будет отображать ее. Однако я не могу найти документацию по API для Интернет-магазина Chrome.

Я бы сказал, что /webstore/api/v1/appid.json существует, но самое близкое, что я нашел в поиске касаются только API лицензирования.

Существует ли официальный API Интернет-магазина Chrome для пользовательских показателей?


person Benjamin Oakes    schedule 10.08.2011    source источник


Ответы (4)


Это не такой API.

Вы можете использовать Google Analytics внутри расширения, чтобы отслеживать пользователей вручную.

Если вам не нужно ничего особенного, а просто количество установок и пользователей, есть Мои расширения extension, он будет отслеживать эти номера для вас.

person serg    schedule 10.08.2011
comment
Спасибо @serg! Я никогда не знал, что такое расширение существует, и оно экономит мне много времени. Кроме того, Google Analytics — это находка для отслеживания посетителей вашей страницы, и я обнаружил, что аннотирование моих графиков с каждым выпуском помогает лучше понять это. - person neocotic; 10.08.2011
comment
Спасибо @serg - я не знал об этом расширении. Это выглядит действительно полезно. Из любопытства я порылся в его всплывающем инспекторе и обнаружил, что автор выполняет парсинг HTML на странице продукта в интернет-магазине, а не обращается к конечной точке API. Это все объясняет. :) - person Benjamin Oakes; 10.08.2011
comment
могу подтвердить. Я также хотел найти API и оказался на том же маршруте, что и Мои расширения. - person Zig Mandel; 13.09.2014

Скопируйте и вставьте приведенный ниже фрагмент в любое место в тексте html-документа, сохраненного с расширением «.php».

<?php

//URL of your extension
$url = "https://chrome.google.com/webstore/detail/ddldimidiliclngjipajmjjiakhbcohn";

//Get the nb of users
$file_string = file_get_contents($url);
preg_match('#>([0-9,]*) users</#i', $file_string, $users);
$nbusers = str_replace(",", "",$users[1]);

echo $nbusers; //Display the number of users

?>
person flo    schedule 07.09.2011
comment
ScrAPI, да? :) Я надеялся избежать очистки HTML, но это то, что я делаю (используя, однако, node.js). - person Benjamin Oakes; 07.09.2011
comment
Я считаю, что это сломалось во время последнего обновления интерфейса Chrome Web Store. - person Benjamin Oakes; 22.05.2012
comment
Я представил редактирование этого сообщения, которое исправляет его для последней версии интернет-магазина. - person Erik Rothoff; 22.07.2012
comment
Быстро, некрасиво и главное - работает. Спасибо :) - person Kristian Ivanov; 18.02.2017

Вы также можете сделать это только на стороне клиента (по крайней мере, на своей стороне) с помощью междоменного инструмента. В этом фрагменте будет указано количество пользователей, отображаемых на странице интернет-магазина Chrome для расширения (по состоянию на 28 апреля 2018 г.):

var chromeExtensionWebstoreURL = 'https://chrome.google.com/webstore/detail/background-image-for-goog/ehohalpjnnlcmckljdflafjjahdgjpmh';

$.getJSON('http://www.whateverorigin.org/get?url=' + encodeURIComponent(chromeExtensionWebstoreURL) + '&callback=?', function(response){
    var numUsers = ((""+response.contents.match(/<span class="e-f-ih" title="([\d]*?) users">([\d]*?) users<\/span>/)).split(",")[2]);
    console.log(numUsers);
});

В будущем Google может изменить имя класса диапазона количества пользователей, и в этом случае вам просто нужно соответствующим образом обновить регулярное выражение.

person David    schedule 28.04.2018

На самом деле есть некоторый API интернет-магазина Chrome. https://developer.chrome.com/webstore/using_webstore_api

person Dead J. Dona    schedule 20.01.2015
comment
API не предоставляет количество пользователей, использующих его. - person dgil; 19.04.2015