다음과 같은 URL로 공유 팝업 (window.open을 통해)을 열었습니다.
https://www.facebook.com/sharer/sharer.php?s=100&p[title]=EXAMPLE&p[summary]=EXAMPLE&p[url]=EXAMPLE&p[images][0]=EXAMPLE
그리고 지난 달에 알려지지 않은 시점까지 모든 것이 정상이었습니다.
지금 일어나고있는 일은 다음과 같습니다. 팝업 대화 상자가 나타나고 쿼리 문자열 매개 변수에서 제공 한 제목, 설명, 이미지 및 URL이 올바르게 포함되지만 게시물이 제출되면 Facebook의 결과 벽 게시물에 제목, 설명 및 이미지가 누락되지만 여전히 올바른 URL.
갑자기 작동을 멈출 수있는 최근 변경 사항이 있는지 아는 사람이 있습니까?
몇 가지 일반적인 응답을 선점합니다.
-
“sharer.php URL이 더 이상 사용되지 않습니다.”-사용이 계속되는 것처럼 보였고 대부분 계속 유지되는 것으로 간주된다는 것이 합의 된 것처럼 보였습니다. 갑자기 작동이 중단되어야한다는 구체적인 표시를 보지 못했습니다. 뭔가를 놓쳤을 수도 있습니다.
-
“JavaScript SDK /이 OG 메타 태그 사용”-내 특정 상황에서는 불가능합니다. 저를 믿으세요. 정말로 원하면 설명 할 수 있지만 실제로는 관련이 없습니다.
-
“피드 대화 상자 사용”-FB 페이지에 첨부 파일이있는 게시를 지원하지 않기 때문에 적합하지 않습니다.
답변
Facebook은 더 이상 사용자 지정 매개 변수를 지원하지 않습니다. sharer.php
공유자는 더 이상 맞춤 매개 변수를 허용하지 않으며 facebook은 url OG 메타 태그에서 게시물로 Facebook에 표시되는 것과 동일한 방식으로 미리보기에 표시되는 정보를 가져옵니다.
https://www.facebook.com/dialog/feed?
app_id=145634995501895
&display=popup&caption=An%20example%20caption
&link=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fdialogs%2F
&redirect_uri=https://developers.facebook.com/tools/explorer
답변
2017 년 7 월 18 일부터 Facebook은 사용자가 설정 한 맞춤 매개 변수를 무시하기로 결정했습니다. 이 선택은이 답변이 제공하는 많은 가능성을 차단하고 여러 웹 사이트에서 사용되는 버튼도 중단합니다.
quote
및 hashtag
매개 변수 십이 2018으로 작동합니다.
갑자기 작동을 멈출 수있는 최근 변경 사항이 있는지 아는 사람이 있습니까?
매개 변수가 변경되었습니다. 현재 허용되는 답변은 다음과 같습니다.
Facebook은 더 이상 사용자 지정 매개 변수를 지원하지 않습니다.
sharer.php
그러나 이것은 완전히 정확하지 않습니다. 글쎄, 그들은 그들을 지원 하거나 보증 하지 않을 수 있지만 올바른 이름을 알고 있으면 맞춤 매개 변수를 사용할 수 있습니다 . 여기에는 다음이 포함됩니다.
- URL (물론) →
u
- 커스텀 이미지 →
picture
- 맞춤 제목 →
title
- 맞춤 견적 →
quote
- 맞춤 설명 →
description
- 캡션 (일명 웹 사이트 이름) →
caption
예를 들어이 질문을 다음 URL로 공유 할 수 있습니다.
https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fstackoverflow.com%2Fq%2F20956229%2F1101509&picture=http%3A%2F%2Fwww.applezein.net%2Fwordpress%2Fwp-content%2Fuploads%2F2015%2F03%2Ffacebook-logo.jpg&title=A+nice+question+about+Facebook"e=Does+anyone+know+if+there+have+been+recent+changes+which+could+have+suddenly+stopped+this+from+working%3F&description=Apparently%2C+the+accepted+answer+is+not+correct.
시도 해봐!
나는 구축 한 도구 쉽게 페이스 북에 URL을 공유 할 수 있습니다 사용자 정의 매개 변수를. sharer.php
링크 를 생성하는 데 사용할 수 있습니다 . 버튼을 누르고 열리는 탭에서 URL을 복사하면됩니다.
답변
어떤 이유로 든 구현할 수 없다고 말했듯이 OpenGraph 마커가 없기 때문에 문제가 발생합니다.
당신에게 유일한 해결책은 PHP Facebook API 를 사용하는 것 입니다.
- 먼저 페이스 북 계정에서 애플리케이션을 만들어야합니다.
-
응용 프로그램을 만들 때 코드에 대한 두 가지 주요 데이터가 있습니다.
YOUR_APP_ID YOUR_APP_SECRET
-
사이트에서 콘텐츠를 공유하려면 다음 코드로 시작할 수 있습니다.
<?php // Remember to copy files from the SDK's src/ directory to a // directory in your application on the server, such as php-sdk/ require_once('php-sdk/facebook.php'); $config = array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', 'allowSignedRequest' => false // optional but should be set to false for non-canvas apps ); $facebook = new Facebook($config); $user_id = $facebook->getUser(); ?> <html> <head></head> <body> <?php if($user_id) { // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $ret_obj = $facebook->api('/me/feed', 'POST', array( 'link' => 'www.example.com', 'message' => 'Posting with the PHP SDK!' )); echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>'; // Give the user a logout link echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>'; } catch(FacebookApiException $e) { // If the user is logged out, you can have a // user ID even though the access token is invalid. // In this case, we'll get an exception, so we'll // just ask the user to login again here. $login_url = $facebook->getLoginUrl( array( 'scope' => 'publish_stream' )); echo 'Please <a href="' . $login_url . '">login.</a>'; error_log($e->getType()); error_log($e->getMessage()); } } else { // No user, so print a link for the user to login // To post to a user's wall, we need publish_stream permission // We'll use the current URL as the redirect_uri, so we don't // need to specify it here. $login_url = $facebook->getLoginUrl( array( 'scope' => 'publish_stream' ) ); echo 'Please <a href="' . $login_url . '">login.</a>'; } ?> </body> </html>
Facebook 개발자 사이트에서 더 많은 예제를 찾을 수 있습니다.
답변
사용중인 URL을 검토합니다.
https://www.facebook.com/sharer/sharer.php?s=100&p[title]=EXAMPLE&p[summary]=EXAMPLE&p[url]=EXAMPLE&p[images][0]=EXAMPLE
이 차이점을 확인하십시오.
- 공유자 URL이 동일하지 않습니다.
- 문자열의 순서가 다릅니다. (이것이 영향을 미치는지 모르겠습니다).
이 URL 문자열을 사용합니다.
http://www.facebook.com/sharer.php?s=100&p[url]=http://www.example.com/&p[images][0]=/images/image.jpg&p[title]=Title&p[summary]=Summary
“제목”및 “요약”섹션에서 urlencode();
다음과 같이 php 함수를 사용합니다 .
<?php echo urlencode($detail->title); ?>
그리고 나를 위해 잘 작동합니다.
답변
URL의 &를 % 26으로 인코딩하면 제대로 작동합니다. 방금 테스트하고 확인했습니다.