PHP에서 Facebook의 공유 수 얻기 (v2.7)
소개
「Facebook의 벼 수가 잡히지 않지만」라는 이야기가 왔습니다.
아무래도 최근 업데이트 등으로 얻을 수 없게 된 것 같습니다.
Facebook의 API 주위는 자세하게 업데이트되고 있어, 사양 변경등에 의해 잡히지 않게 되는 일이 있습니다. 이번 변경(또는 오래된 버전의 폐지?)은 2016년 9월경에 있었다는 것이었습니다.
App ID 및 비밀
공유 수를 얻으려면 앱 ID (앱 ID)와 비밀이 필요합니다.
아래 참고 사이트에 따라 Facebook 앱을 만들고 앱 ID와 비밀을 받았습니다.
http://wp-suzaku.com/2016/02/01/【2016년판】facebook-app-id(어플리 id)의 취득 방법/
ㅜㅜㅜㅜㅜㅜㅜㅜㅜ 네 t / b ぉ g /
Facebook API
Facebook API되는 것을 이용하게 됩니다.
ぇぺぺrs. 후세보오 k. 이 m / 및 ls / 에 xp ㄉ r
여기에 로그인하면 여러 가지 시도해 볼 수 있습니다.
GET 요청으로 대체로 무엇이든 할 수 있습니다.
ぇぺぺrs. 후세보오 k. 코 m / 두 cs / g 등 ph-Api / Refuensense / v2.7 / Url
공식 샘플입니다.
코드
FacebookShareCount.php
class FacebookShareCount {
/**
* App ID
* 数字のみで構成される
*
* @var string
*/
private $appid = '';
/**
* シークレット
* 16進数文字列で構成される
*
* @var string
*/
private $appsecret = '';
/**
* アクセストークン
* App IDとシークレットを | で繋げたもの
*
* @var string
*/
private $access_token;
public function __construct($appid, $appsecret) {
$this->appid = $appid;
$this->appsecret = $appsecret;
}
/**
* AppIDとsecretがセットされているかどうかチェックする。
* 正当性まではチェックしない。
*
* @throws Exception
*/
private function is_valid_token() {
if ( empty($this->appid) || empty($this->appsecret) ) {
throw new Exception('Appid or App Secret is not set.');
}
}
/**
* FBのシェア数を取得する
*
* @link https://blog.hello-world.jp.net/api/2221/
* @link https://graph.facebook.com/http://www.yahoo.co.jp
* // https://graph.facebook.com/?id=https://www.yahoo.co.jp にアクセス
* @link https://developers.facebook.com/docs/graph-api/reference/v2.7/url
*
* @param $permalink string permalink url
*
* @return int
*
* @throws Exception
*/
public function get_fb_like_count($permalink) {
$this->is_valid_token();
$base_url = 'https://graph.facebook.com/v2.7/'; // OpenGraphプロトコルでアクセスするAPIのエンドポイント
$parameters = array(
'id' => urlencode($permalink), // // カウントを取得するURLをエンコードしたもの
'access_token' => $this->appid .'|'. $this->appsecret,
);
$parameter_pair = array();
foreach ( $parameters as $key => $parameter) { // GETのクエリを=で結ぶ
$parameter_pair[] = $key . '=' . $parameter;
}
$url = $base_url . '?'. implode('&', $parameter_pair);
$content = file_get_contents($url);
$json = json_decode($content);
if ( isset($json->share->share_count) ){
return $json->share->share_count;
} else { // 値が無い場合がある (一度もシェアされていない場合
return 0;
}
}
}
sample.php<?php
include 'FacebookShareCount.php';
main();
function main() {
$appid = '';
$secret = '';
$url = 'http://www.yahoo.co.jp';
$fsc = new FacebookShareCount($appid, $secret);
$count = $fsc->get_fb_like_count($url);
var_dump($count);
}
htps : // 기주 b. 코 m / 요 씨 / 후세 보오 k 멋쟁이 t
Facebook API 만료
Facebook API는 만료일이 있는 것 같습니다.
ぇぺぺrs. 후세보오 k. 코 m / 두 cs / 아 ps / 찬게 g
이번에는 최신 v2.7을 이용했기 때문에 연장이 없으면 2년 미만은 문제 없게 사용할 예정입니다.
반대로 말하면 2년이 지나면 사용할 수 없게 될 가능성이 있으므로 주의가 필요하네요.
기타
페이스 북의 쌀 수, 공유 수를 얻는 코드는 적당히 발견되었습니다만, API의 사용 기한의 관련성도 있어 사용할 수 없는 코드도 많아, 생각보다 시간을 사용했습니다.
API가 버전에 의해 폐지되어 있기 때문인 것 같습니다.
그리고 공식 라이브러리가 있는 것 같습니다만 다 사용할 수 없었습니다. 기회가 있으면 그쪽도 꼭 해보고 싶네요.
Reference
이 문제에 관하여(PHP에서 Facebook의 공유 수 얻기 (v2.7)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yousan/items/df3650e52ffe868b982e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
공유 수를 얻으려면 앱 ID (앱 ID)와 비밀이 필요합니다.
아래 참고 사이트에 따라 Facebook 앱을 만들고 앱 ID와 비밀을 받았습니다.
http://wp-suzaku.com/2016/02/01/【2016년판】facebook-app-id(어플리 id)의 취득 방법/
ㅜㅜㅜㅜㅜㅜㅜㅜㅜ 네 t / b ぉ g /
Facebook API
Facebook API되는 것을 이용하게 됩니다.
ぇぺぺrs. 후세보오 k. 이 m / 및 ls / 에 xp ㄉ r
여기에 로그인하면 여러 가지 시도해 볼 수 있습니다.
GET 요청으로 대체로 무엇이든 할 수 있습니다.
ぇぺぺrs. 후세보오 k. 코 m / 두 cs / g 등 ph-Api / Refuensense / v2.7 / Url
공식 샘플입니다.
코드
FacebookShareCount.php
class FacebookShareCount {
/**
* App ID
* 数字のみで構成される
*
* @var string
*/
private $appid = '';
/**
* シークレット
* 16進数文字列で構成される
*
* @var string
*/
private $appsecret = '';
/**
* アクセストークン
* App IDとシークレットを | で繋げたもの
*
* @var string
*/
private $access_token;
public function __construct($appid, $appsecret) {
$this->appid = $appid;
$this->appsecret = $appsecret;
}
/**
* AppIDとsecretがセットされているかどうかチェックする。
* 正当性まではチェックしない。
*
* @throws Exception
*/
private function is_valid_token() {
if ( empty($this->appid) || empty($this->appsecret) ) {
throw new Exception('Appid or App Secret is not set.');
}
}
/**
* FBのシェア数を取得する
*
* @link https://blog.hello-world.jp.net/api/2221/
* @link https://graph.facebook.com/http://www.yahoo.co.jp
* // https://graph.facebook.com/?id=https://www.yahoo.co.jp にアクセス
* @link https://developers.facebook.com/docs/graph-api/reference/v2.7/url
*
* @param $permalink string permalink url
*
* @return int
*
* @throws Exception
*/
public function get_fb_like_count($permalink) {
$this->is_valid_token();
$base_url = 'https://graph.facebook.com/v2.7/'; // OpenGraphプロトコルでアクセスするAPIのエンドポイント
$parameters = array(
'id' => urlencode($permalink), // // カウントを取得するURLをエンコードしたもの
'access_token' => $this->appid .'|'. $this->appsecret,
);
$parameter_pair = array();
foreach ( $parameters as $key => $parameter) { // GETのクエリを=で結ぶ
$parameter_pair[] = $key . '=' . $parameter;
}
$url = $base_url . '?'. implode('&', $parameter_pair);
$content = file_get_contents($url);
$json = json_decode($content);
if ( isset($json->share->share_count) ){
return $json->share->share_count;
} else { // 値が無い場合がある (一度もシェアされていない場合
return 0;
}
}
}
sample.php<?php
include 'FacebookShareCount.php';
main();
function main() {
$appid = '';
$secret = '';
$url = 'http://www.yahoo.co.jp';
$fsc = new FacebookShareCount($appid, $secret);
$count = $fsc->get_fb_like_count($url);
var_dump($count);
}
htps : // 기주 b. 코 m / 요 씨 / 후세 보오 k 멋쟁이 t
Facebook API 만료
Facebook API는 만료일이 있는 것 같습니다.
ぇぺぺrs. 후세보오 k. 코 m / 두 cs / 아 ps / 찬게 g
이번에는 최신 v2.7을 이용했기 때문에 연장이 없으면 2년 미만은 문제 없게 사용할 예정입니다.
반대로 말하면 2년이 지나면 사용할 수 없게 될 가능성이 있으므로 주의가 필요하네요.
기타
페이스 북의 쌀 수, 공유 수를 얻는 코드는 적당히 발견되었습니다만, API의 사용 기한의 관련성도 있어 사용할 수 없는 코드도 많아, 생각보다 시간을 사용했습니다.
API가 버전에 의해 폐지되어 있기 때문인 것 같습니다.
그리고 공식 라이브러리가 있는 것 같습니다만 다 사용할 수 없었습니다. 기회가 있으면 그쪽도 꼭 해보고 싶네요.
Reference
이 문제에 관하여(PHP에서 Facebook의 공유 수 얻기 (v2.7)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yousan/items/df3650e52ffe868b982e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
FacebookShareCount.php
class FacebookShareCount {
/**
* App ID
* 数字のみで構成される
*
* @var string
*/
private $appid = '';
/**
* シークレット
* 16進数文字列で構成される
*
* @var string
*/
private $appsecret = '';
/**
* アクセストークン
* App IDとシークレットを | で繋げたもの
*
* @var string
*/
private $access_token;
public function __construct($appid, $appsecret) {
$this->appid = $appid;
$this->appsecret = $appsecret;
}
/**
* AppIDとsecretがセットされているかどうかチェックする。
* 正当性まではチェックしない。
*
* @throws Exception
*/
private function is_valid_token() {
if ( empty($this->appid) || empty($this->appsecret) ) {
throw new Exception('Appid or App Secret is not set.');
}
}
/**
* FBのシェア数を取得する
*
* @link https://blog.hello-world.jp.net/api/2221/
* @link https://graph.facebook.com/http://www.yahoo.co.jp
* // https://graph.facebook.com/?id=https://www.yahoo.co.jp にアクセス
* @link https://developers.facebook.com/docs/graph-api/reference/v2.7/url
*
* @param $permalink string permalink url
*
* @return int
*
* @throws Exception
*/
public function get_fb_like_count($permalink) {
$this->is_valid_token();
$base_url = 'https://graph.facebook.com/v2.7/'; // OpenGraphプロトコルでアクセスするAPIのエンドポイント
$parameters = array(
'id' => urlencode($permalink), // // カウントを取得するURLをエンコードしたもの
'access_token' => $this->appid .'|'. $this->appsecret,
);
$parameter_pair = array();
foreach ( $parameters as $key => $parameter) { // GETのクエリを=で結ぶ
$parameter_pair[] = $key . '=' . $parameter;
}
$url = $base_url . '?'. implode('&', $parameter_pair);
$content = file_get_contents($url);
$json = json_decode($content);
if ( isset($json->share->share_count) ){
return $json->share->share_count;
} else { // 値が無い場合がある (一度もシェアされていない場合
return 0;
}
}
}
sample.php
<?php
include 'FacebookShareCount.php';
main();
function main() {
$appid = '';
$secret = '';
$url = 'http://www.yahoo.co.jp';
$fsc = new FacebookShareCount($appid, $secret);
$count = $fsc->get_fb_like_count($url);
var_dump($count);
}
htps : // 기주 b. 코 m / 요 씨 / 후세 보오 k 멋쟁이 t
Facebook API 만료
Facebook API는 만료일이 있는 것 같습니다.
ぇぺぺrs. 후세보오 k. 코 m / 두 cs / 아 ps / 찬게 g
이번에는 최신 v2.7을 이용했기 때문에 연장이 없으면 2년 미만은 문제 없게 사용할 예정입니다.
반대로 말하면 2년이 지나면 사용할 수 없게 될 가능성이 있으므로 주의가 필요하네요.
기타
페이스 북의 쌀 수, 공유 수를 얻는 코드는 적당히 발견되었습니다만, API의 사용 기한의 관련성도 있어 사용할 수 없는 코드도 많아, 생각보다 시간을 사용했습니다.
API가 버전에 의해 폐지되어 있기 때문인 것 같습니다.
그리고 공식 라이브러리가 있는 것 같습니다만 다 사용할 수 없었습니다. 기회가 있으면 그쪽도 꼭 해보고 싶네요.
Reference
이 문제에 관하여(PHP에서 Facebook의 공유 수 얻기 (v2.7)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yousan/items/df3650e52ffe868b982e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
페이스 북의 쌀 수, 공유 수를 얻는 코드는 적당히 발견되었습니다만, API의 사용 기한의 관련성도 있어 사용할 수 없는 코드도 많아, 생각보다 시간을 사용했습니다.
API가 버전에 의해 폐지되어 있기 때문인 것 같습니다.
그리고 공식 라이브러리가 있는 것 같습니다만 다 사용할 수 없었습니다. 기회가 있으면 그쪽도 꼭 해보고 싶네요.
Reference
이 문제에 관하여(PHP에서 Facebook의 공유 수 얻기 (v2.7)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yousan/items/df3650e52ffe868b982e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)