[ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법 > php

본문 바로가기
사이트 내 전체검색

php

[ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법

페이지 정보

작성자 웹지기 댓글 0건 조회 12,361회 작성일 18-09-19 15:50

본문

페이스북 쉐어러를 사용할때는

http://www.facebook.com/sharer/sharer.php?u=공유할 url 만 입력하면 된다.


하지만,

해당 URL에 대한 대표 이미지나, 설명같은 것은 무작위 또는 가장 강조되는 테그를 가져오기때문에

목적이 그냥 특정 URL을 공유하는 것이라면 상관없지만 이게아니라면

의도치않은 결과가 나올 수 있다.

  

이런 부분을 해소하기 위해서 페이스북에서는 메타데이터를 이용해 특정 정보를 가져온다.


추가할 수 있는 메타 데이터들에는 url, type, title, description, image가 있다.

추가하는 방법은 head에 메타데이터를 넣으면 되는데 og: prefix를 통해 페이스북이 데이터를 긁어간다.


<meta property="og:title" content="페이지정보" />

<meta property="og:image" content="상품이미지 사진" />

<meta property="og:description" content="상품설명 넣는부분" />

<meta property="og:type" content="website" />

위처럼 넣으면

해당 데이터를 긁어서 쉐어러정보가 들어간다.


하지만 이런식으로 넣어도 쉐어러에 들어가는 정보에 대한 캐쉬를 남기기 때문에

같은 URL에서는 동일한 정보를 가져온다.

한달에 한번정도 갱신이 되는거라서 실시간 반영하는 방법을 찾는도중에

http://developers.facebook.com/tools/debug/og/object

을 이용하면 실시간으로 갱신이 되는것을 알게되었다.


http://developers.facebook.com/tools/debug/og/object?q=특정 url 을 이용하면 해당 URL 을 거친것과 같은 결과를 내므로

공유전에 한번 돌려주는 작업을 처리하면 구현이 가능하다.



<script>

function go_sns(SNS,siteContent,siteshort,siteUrl)

{

    var siteUrl = siteUrl;

    var siteContent = encodeURI(siteContent);

    var siteshort = encodeURI(siteshort);

    var siteBody = "\""+siteContent+"\":"+siteUrl; // me2day 용 (링크 액션 줄 수 있도록)


    if(SNS == "facebook") {    

        window.open("http://www.facebook.com/sharer.php?u="+siteUrl+"&t="+siteContent+"","SNS_pop","width=800 height=600"); 

    }else if(SNS == "twitter"){        

       window.open("http://twitter.com/share?text="+siteContent+"&url="+siteUrl+"","SNS_pop","width=800 height=600");    

    }else if(SNS == "me2day"){        

       window.open("http://me2day.net/posts/new?new_post[body]="+siteBody+"&new_post[tags]="+siteshort+"","SNS_pop","width=800 height=600");    

    }else if(SNS == "cyworld"){

       window.open("http://csp.cyworld.com/bi/bi_recommend_pop.php?url="+siteUrl+"&"+siteContent+"","SNS_pop","width=800 height=600");    

    }else if(SNS == "daum"){

       window.open("http://yozm.daum.net/api/popup/prePost?link="+siteUrl+"&prefix="+siteContent+"","SNS_pop","width=800 height=600");

    }

}

</script>

<a onclick="go_sns('facebook','<?=$it[it_name]?>','1stzone','http://1stzone.com/web/shop/item.php?it_id=<?=$it[it_id]?>')" href="javascript:;"><img src="<?=$item_skin_path?>/img/facebook.gif" alt="facebook" /></a>

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 82건 4 페이지
  • 37 [ php ] 쿠폰발행
  • DB[code]CREATE TABLE `coupon_test` ( `idx` int(11) NOT NULL auto_increment, `couponNO` varchar(16) NOT NULL, `ID` varchar(20) default NULL, PRIMARY KEY (`idx`)) ENGINE=MyISAM DEFAULT CHARSET=euckr AUTO_INCREMENT=1 ;[/code]idx: 고유 인덱스 번호couponNO: 쿠폰번호 (중복불가 varchar(16) 숫자와 알파벳으로 이...
  • 웹지기 09-27 2280 0 0 댓글 0
  • 35 [ php ] [ class ] 쿠폰발행 class 버젼
  • DB[code]CREATE TABLE `coupon_test` ( `couponNO` varchar(16) NOT NULL default '', `ID` varchar(20) NOT NULL default '', `datetime` datetime NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`couponNO`)) TYPE=MyISAM;[/code]쿠폰생성 소스[code]&lt;?// Mysql 클래스class TMySql { var $...
  • 웹지기 09-27 2204 0 0 댓글 0
  • 32 [ php ] php 로 소켓 서버 작성하기
  • PHP로 소켓 서버 작성하기작성자 김영진(cogolda@hanmail.net)대상 독자요구사항1 개요 - 소켓 서버란 무엇인가?1.1 소켓의 형태2 PHP 소켓 함수2.1 PHP에서 소켓 만들기2.2 실용 서버 만들기2.3 실용적인 예2.4 보안가능한 기능 추가와 확장저자에 관해알아두기이 자료는 http://www.zend.com/zend/tut/tutorial-staub3.php/에 있는Writing Socket Servers in PHP를 제가 허접번역 및 내용을 추가 및 생략한 것입니다.이미...
  • 웹지기 09-27 10727 0 0 댓글 0
  • 30 [ php ] 파일 확장자 구하기 여러가지 방법
  • [code] &lt;?php $filename = "mypage.asp"; //1 strrchr함수를 사용해서 확장자 구하기 $ext = substr(strrchr($filename, '.'), 1); echo$ext; echo"&lt;br&gt;"; //2 strrpos 함수와 substr함수를 사용해서 확장자 구하기 $ext = substr($filename, strrpos($filename, '.') + 1)...
  • 웹지기 09-19 8606 0 0 댓글 0
  • 29 [ php ] php를 활용하여 리눅스 계정 만들기
  • 1. 먼저, /usr/sbin/useradd를 웹 서비스 디렉토리에 복사[code] #cp /usr/sbin/useradd /usr/www/html/[/code] (웹 서비스 디렉토리는 리눅스에 따라 약간의 차이가 있을 수 있슴) 2. 복사한 useradd의 setid를 설정합니다 (물론 /usr/www/html의 위치에서 명령을 내림 )[code] #chmod a+s useradd [/code] 3. php소스 (소스파일은 웹 서비스 디렉토리에 있어야 함)[code] #vi ...
  • 웹지기 09-19 2966 0 0 댓글 0
  • 28 [ php ] PREG 한글 특수문자 체크 & 추출
  • 홍길1234동abc입!!_#니다 라는 문구가 있다고 했을때 해당 문구에서 홍길동입니다 1234 abc !!_# 를 각각 추출해내는 함수이다. euckr을 기준으로 작성된 함수이며 euckr에서는 한글 패턴의 추출이 어려운 관계로 UTF-8로 전환하여 변환하는 형태이다. 핵심은 1 한글,2 영문 ,4 숫자 ,8 특수기호로 명시하고 처리하는 식이다. ========= 내용 ============== $msg = "홍길1234동abc입!!_#니다"; ...
  • 웹지기 09-19 5772 0 0 댓글 0
  • 27 [ php ] ereg_replace // eregi_replace 사용법
  • ereg_replace는 str_replace와 형식은 같으나, 정규식을 사용한다는 점이 다르다. $a = "1a2b3"; $a = ereg_replace("[a-z]", "x", $a); echo $a; eregi_replace는 ereg_replace와 형식은 같으나 대소문자를 구분하지 않는다는 점이 다릅니다. $a = "1AB"; $a = ereg_replace("[a-z]", ...
  • 웹지기 09-19 2739 0 0 댓글 0
  • 열람중 [ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법
  • 페이스북 쉐어러를 사용할때는 http://www.facebook.com/sharer/sharer.php?u=공유할 url 만 입력하면 된다. 하지만, 해당 URL에 대한 대표 이미지나, 설명같은 것은 무작위 또는 가장 강조되는 테그를 가져오기때문에 목적이 그냥 특정 URL을 공유하는 것이라면 상관없지만 이게아니라면 의도치않은 결과가 나올 수 있다. 이런 부분을 해소하기 위해서 페이스북에서는 메타데이터를 이용해 특정 정보를 가져온다. 추가할 수 있는 메타 데이터들에는 url,...
  • 웹지기 09-19 12362 0 0 댓글 0
  • 24 [ php ] _SERVER, getenv 환경변수
  • PHP 환경변수 정리 서버 변수 용도$_SERVER['PHP_SELF'] 현재 실행하고 있는 스크립트의 파일명 DocumentRoot로부터 취득$_SERVER['argv'] 스크립트에 받은 인수의 배열$_SERVER['argc'] 스크립트에 받은 인수의 수$_SERVER['GATEWAY_INTERFACE'] 서버가 사용하고 있는 CGI 의 버전$_SERVER['SERVER_ADDR'] 현재의 스크립트가 실행되고 있는 서버의 IP 어드레스$_SERVER['SERVER_NAME'] 현재의 스크립트가 ...
  • 웹지기 09-11 4565 0 0 댓글 0
  • 23 [ php ] Class 사용법 정리 7. 매직함수
  • 7매직함수__sleep, __wakeup과같이"__"로시작하는매직함수(magic function)는 PHP 클래스내에서특수한목적으로사용됩니다.따라서이함수들이가지고있는문서화된매직기능을사용할필요가없다면클래스내에이함수들을정의해서는안됩니다.__sleepserialize 함수를통해객체를직렬화할때해당클래스에매직함수 __sleep가정의되어있는지확인합니다.만약정의되어있다면객체를직렬화하기전에 __sleep 함수를수행합니다.이함수는직렬화하기전에객체멤버에대하여조작해야하는작업,또는직렬화하기전에미리수행...
  • 웹지기 09-11 2565 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
4,383
어제
9,252
최대
24,117
전체
3,978,042

그누보드5
Copyright © funyphp.com. All rights reserved.