5

이 주제에 대해 수행 한 모든 연구 중 90 %는 구식이므로 최근 변경 사항이 있다고 생각합니다. 명시 적으로 오픈 그래프 (Open Graph) 이야기를 공유하는 것에 관한 Facebook JS SDK.FB.ui를 통해 명시 적으로 공유 된 열린 그래프 스토리에 대한 설명을 동적으로 생성합니다. 공유 대화

function postToFB(desc){ 
FB.ui({ 
    method: 'share_open_graph', 
    action_type: 'mynamespace:myaction', 
    action_properties: JSON.stringify({ 
     myobject: "myobjectid" 
    }) 
}, function(response){}); 
} 

이 가진 문제는 그것이 내가 내 응용 프로그램 설정의 페이스 북 오픈 그래프 섹션에서 설정 한 설정 만에 인 myObject를 공유하려고하는 것입니다 : 나는 다음과 같은 코드가 있습니다. 동일한 객체를 사용하고 싶지만 공유 할 때마다 동적 'desc'변수로 설명을 변경하십시오. 아무도 이것을 수행하는 방법을 알고 있습니까? 내 앱 설정의 내 Facebook Open Graph 섹션에서 캡션을 정적으로 설정할 수는 있지만 대신 공유 할 때마다 동적으로 설정해야합니다.

action_properties에 추가 할 수있는 추가 키/값 쌍을 Facebook JS SDK를 통해 검색했지만이 경우 SDK 정보가 매우 제한적입니다.

내가이 전화, 하나는 새 개체의 정보와 이야기를 게시 할 객체와 두 번째를 만들 수를 포함하도록 코드를 수정 한

UPDATE.

function postToFB(desc){ 
FB.api(
    'me/objects/mynamespace:myobject', 
    'post', 
    { 
    object: { 
     "app_id": myappid, 
     "type": "mynamespace:myobject", 
     "url": "myurl", 
     "title": "mytitle", 
     "image": "myimgurl", 
     "description": desc 
     } 
    }, 
    function(response) { 
     console.log(response); 
     FB.ui({ 
      method: 'share_open_graph', 
      action_type: 'mynamespace:myaction', 
      action_properties: JSON.stringify({ 
       myobject: response.id 
     }) 
    }, function(r){}); 
}); 
} 

그러나,이 문제에 관한 의견에 따라 : Facebook object API - duplicate objects created 페이스 북 직원은 사용자가 하나 개의 동작은 두 개의 게시물을 생산할 수 없기 때문에이 방법은 페이스 북에 의해 승인되지 않습니다 말했다,이 코드 지금 여기 코드는 않습니다. 하나는 Facebook 사용자의 활동 로그에 개체를 게시하고 하나는 활동 로그와 뉴스 피드에 게시합니다.

하나의 호출 만하고 myobject 설명이 FB.ui 함수 자체에서 있어야하는 것이 있으면 좋을 것입니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?

답변

5

나는 그것을 알아 냈다. 내가 가지고있는 주된 문제는 앱/객체 (객체를 만들지 만 이벤트를 게시하지 않음)에 게시해야 할 때 나/객체 (사용자의 활동 로그에 이벤트를 게시 할 것입니다)에 게시하는 것입니다. 나는 새로운 ID와 객체를 게시 할 JS 스크립트를 사용할 수 거기에서

$request = new FacebookRequest( 
null, 
'POST', 
'/app/objects/mynamespace:myobject', 
array(
     'access_token' => 'myaccesstoken', 
    'object' => json_encode(array(
     'app_id' => myappid, 
      'url' => 'myurl', 
      'title' => 'mytitle', 
      'image' => 'myimg', 
      'description' => 'mydesc' 
     )) 
) 
); 
$response = $request->execute(); 
$obj = $response->getGraphObject(); 
echo $obj->getProperty('id'); 

:/아무것도 액세스 토큰이 필요한 응용 프로그램에 게시 때문에, 나는 PHP에서 서버 측에서 발생하는 초기 호출을 변경했다 사용자의 피드로

나는 당신이 나처럼 네 자신을 알아 내려고 노력하는 데 2 ​​시간 30 분을 소비하지 못하게하는 희망입니다.