URL-адрес подсчета Google Plus

Я пытаюсь подсчитать количество плюс один, которое у меня есть для Google Plus, я проверяю, правильно ли я подсчитываю это

https://plusone.google.com/u/0/_/%2B1/fastbutton?count=true&url=MY_URL

Я вижу, что Google Plus отклоняет мой URL-адрес (не возвращает 0 или что-то в этом роде)

I wanted to know if anyone can tell me if I have anything wrong in my url, I have these symbols in my url outside of letters and numbers

:
/
.
?
=
&
_

и мой URL-адрес отформатирован следующим образом

(protocol)://(server [such as www]).(domain)/(text).php?(text)=(text)&(text)=(digits)&(text)=(text)

person Kevin    schedule 20.08.2012    source источник
comment
Я думаю, вы можете попробовать экранировать символ URL, чтобы такие вещи, как /, правильно передавались на сервер Google...   -  person kumarharsh    schedule 20.08.2012
comment
проверьте это: stackoverflow.com/questions/7403553/   -  person kumarharsh    schedule 21.08.2012


Ответы (2)


Используйте URL-адрес

https://plusone.google.com/_/+1/fastbutton?url=http%3A%2F%2Fwww.yoursite.com%2Fpath%2Fyour%2fcontent

вместо этого и следуйте решению, найденному в этом вопрос (анализ для window.__SSR = {c:)

person Aron Cederholm    schedule 21.08.2012
comment
у меня все еще не работает (см. формат моего URL, возможно, что-то там вызовет проблему) - person Kevin; 21.08.2012
comment
Я думаю, что решил это, так как же сделать регулярное выражение, которое делает это (недостаточно комфортно с этим) Теперь я могу загрузить URL-адрес в виде строки, но не знаю, как извлечь число, а также исправить моя проблема, мне пришлось изменить & символы на% 26, и я отправил GPlus_someotherstuff, который Google меняет на googlePlus_someotherstuff, поэтому мне нужно использовать googlePlus_someotherstuff в моем запросе на google plus - person Kevin; 21.08.2012
comment
я использую php (вместо этого я мог бы использовать javascript) - person Kevin; 21.08.2012
comment
правильно, убедитесь, что url_encode URL-адрес, по которому вы хотите проверить количество плюсонов. В php просто выполните urlencode($url). Подходящим регулярным выражением будет preg_match('/window\.__SSR = {c: ([0-9]+)\.0/', $googleplusresonse, $matches);, что приведет к тому, что $matches[1] будет содержать количество плюсонов. - person Aron Cederholm; 22.08.2012

Я думаю, что вы я ищу это. Это уродливо, и Google явно не поддерживает его, но он все еще работает.

function shinra_gplus_get_count( $url ) {
    $contents = file_get_contents( 
        'https://plusone.google.com/_/+1/fastbutton?url=' 
        . urlencode( $url ) 
    );

    preg_match( '/window\.__SSR = {c: ([\d]+)/', $contents, $matches );

    if( isset( $matches[0] ) ) 
        return (int) str_replace( 'window.__SSR = {c: ', '', $matches[0] );
    return 0;
}
person Luke Mlsna    schedule 16.03.2013