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

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

php

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

페이지 정보

작성자 웹지기 댓글 0건 조회 15,300회 작성일 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건 1 페이지
  • 82 [ php ] 상대경로와 절대경로, 열린문서의 절대경로, 상대경로, url, uri 나타내기
  • 1. 절대경로 - 어떠한 웹페이지나 파일이 가지고 있는 고유한 경로를 말한다. - 예를들어 https://funyphp.com, C:\users\document\funyphp.jpg 등을 모두 절대 경로라고한다. - 다르게는 '그 위치'라는 개념이라고 말할 수 있는데 주소라고 생각하면 이해하기 더 쉽다. - 예를 들어 내가 만약 d:\file 또는 c:\file\img.jpg 등 절대 경로를 알고 있으면 그곳으로 바로 이동하거나 그곳에 있는 파일을 바로 실행 가능하다는 것. - 따라서, ...
  • 웹지기 11-07 28889 0 0 댓글 0
  • 80 [ php ] [ class ] 클래스( class )에서 지시자( -> )의 의미
  • 객체는 자신만의 변수와 함수 가질 수 있습니다. 객체에서 변수, 함수는 각각 멤버변수 , 메쏘드 라고 불립니다.class test { var $a;// 멤버변수 (클래스 안에서 변수를 정의 할때는 var를 반드시 적어 주어야 한다.) var $b; function aaa() {// 메쏘드 (클래스안의 함수를 메쏘드 라고 한다.) $this-&gt;abcd = " 알파벳";// 메쏘드안에서 변수 정의할 때는 $this를 붙혀 준다. }}위와 같이 test 란 class 가...
  • 웹지기 09-30 19834 0 0 댓글 0
  • 79 [ 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 19783 0 0 댓글 0
  • 78 [ 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 16615 0 0 댓글 0
  • 77 [ php ] phpsocket.io 사용법
  • Start php start.php start for debug mode php start.php start -dfor daemon mode php start.php restart Stop php start.php stop Status php start.php status
  • 웹지기 05-08 16081 0 0 댓글 0
  • 열람중 [ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법
  • 페이스북 쉐어러를 사용할때는 http://www.facebook.com/sharer/sharer.php?u=공유할 url 만 입력하면 된다. 하지만, 해당 URL에 대한 대표 이미지나, 설명같은 것은 무작위 또는 가장 강조되는 테그를 가져오기때문에 목적이 그냥 특정 URL을 공유하는 것이라면 상관없지만 이게아니라면 의도치않은 결과가 나올 수 있다. 이런 부분을 해소하기 위해서 페이스북에서는 메타데이터를 이용해 특정 정보를 가져온다. 추가할 수 있는 메타 데이터들에는 url,...
  • 웹지기 09-19 15301 0 0 댓글 0
  • 75 [ php ] PHP에서 CSV 로 내보내기
  • csv 아웃풋용 파일을 하나 만들어두시고 링크------------------------------------------------------------------------------------------------ csv_output.php[code]&lt;?include "환경 설정 파일들";// DB를 정의합니다. 여기서는 DB 클래스 파일을 include해서 사용했습니다.$DB = new DB_Mysql($WEB_HOST,$WEB_USER,$WEB_PASS,$W...
  • 웹지기 09-28 11105 0 0 댓글 0
+1
  • 73 [ php ] foreach() 오류 Invalid argument supplied for foreach()
  • Invalid argument supplied for foreach() 이러한 오류가 발생하는것은 foreach에 검색하는 변수의 값이 비어있기 때문. 어쩔수 없이 빈값인지 확인해야 한다. if(!emepty($변수)) { foreach($변수 AS $key) { echo "샬랄라"; } } 이런식으로 감싸줘야 ㅡㅡ;;
  • 웹지기 06-08 9486 0 0 댓글 0
  • 72 [ php ] 주차 , 요일, 해당주의 시작일, 해당주의 종료일 date()
  • //해당요일 $dayOfTheWeek = date('w',mktime(0,0,0,$month,$day,$year));$dayOfTheWeek1 = date('w',strtotime($year.$month.$day)); //주차구하기$week = date('W',mktime(0,0,0,$month,$day,$year));$week1 = date('W',strtotime($year.$month.$day));//해당주차의 시작일$sd = mktime(0,0,0,$month,$day-$dayOfThe...
  • 웹지기 09-11 9447 0 0 댓글 0
  • 70 [ php ] php 7.2 count() 사용시 에러 조치
  • Severity: Warning --&gt; count(): Parameter must be an array or an object that implements Countable 기존에는 빈값일 때 문제 없었는데, 7.2버젼에서는 빈값이면 0이 아니기 때문에 오류가 발생했다. if(count($num) &gt; 0) { echo "test"; } 이부분에서 문제가 생겨서 다음처럼 수정을 했다. i...
  • 웹지기 06-08 8885 0 0 댓글 0
  • 69 [ php ] json 한글 깨지는 현상 해결
  • 배열을 json_encode()해서 json으로 바꿀 때 한글 값이 유니코드로 깨져 들어가는 현상을 해결하는 방법PHP 버젼별로 다르게 구현PHP 5.3 이하function my_json_encode($arr){ //convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding ar...
  • 웹지기 08-28 8726 0 0 댓글 0
  • 68 [ php ] PREG 한글 특수문자 체크 & 추출
  • 홍길1234동abc입!!_#니다 라는 문구가 있다고 했을때 해당 문구에서 홍길동입니다 1234 abc !!_# 를 각각 추출해내는 함수이다. euckr을 기준으로 작성된 함수이며 euckr에서는 한글 패턴의 추출이 어려운 관계로 UTF-8로 전환하여 변환하는 형태이다. 핵심은 1 한글,2 영문 ,4 숫자 ,8 특수기호로 명시하고 처리하는 식이다. ========= 내용 ============== $msg = "홍길1234동abc입!!_#니다"; ...
  • 웹지기 09-19 8545 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
9,409
어제
23,621
최대
33,828
전체
8,531,571

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