FB.ui 공유 대화 상자를 통해 명시 적으로 공유 된 오픈 그래프 스토리에 대한 설명을 동적으로 생성

그리고 Mastromonaco

이 주제에 대해 제가 수행 한 모든 연구 중 90 %가 구식이며, 이는 오픈 그래프 스토리를 명시 적으로 공유하는 것과 관련하여 Facebook JS SDK에 최근 변경 사항이 있다고 믿게합니다. 다음 코드가 있습니다.

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

문제는 내 앱 설정의 Facebook Open Graph 섹션에서 설정 한 설정으로 만 myobject를 공유하려고 시도한다는 것입니다. 동일한 객체를 사용하고 싶지만 공유 할 때마다 동적 'desc'변수로 설명을 변경합니다. 누구든지 이것을 수행하는 방법을 알고 있습니까? 내 앱 설정의 Facebook Open Graph 섹션에서 캡션을 정적으로 설정할 수 있지만 대신 공유 할 때마다 동적으로 설정해야합니다.

action_properties에 추가 할 수있는 추가 키 / 값 쌍에 대해 Facebook JS SDK를 검색했지만 이와 관련하여 SDK 정보는 매우 제한적입니다.

최신 정보

두 번의 호출을 포함하도록 코드를 수정했습니다. 하나는 개체를 만들고 다른 하나는 새 개체의 정보로 스토리를 게시하는 것입니다. 코드는 다음과 같습니다.

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 개체 API- Facebook 직원이 생성중복 개체 는 사용자가 한 번의 작업으로 두 개의 게시물을 생성 할 수 없기 때문에이 접근 방식은 Facebook에서 승인되지 않을 것이라고 말했습니다. 하나는 개체를 Facebook 사용자의 활동 로그에 게시하고 다른 하나는 활동 로그와 뉴스 피드에 게시합니다.

한 번만 호출하고 FB.ui 함수 자체에서 myobject 설명이 무엇인지 규정하면 좋을 것입니다. 누구든지 이것을하는 방법을 알고 있습니까?

그리고 Mastromonaco

나는 그것을 알아. 내가 가진 주요 문제는 내가 앱 / 객체에 게시해야 할 때 나 / 객체 (사용자의 활동 로그에 이벤트를 게시 함)에 게시하는 것입니다 (객체를 생성하지만 이벤트를 게시하지는 않음). 앱 / 모든 항목에 게시하려면 액세스 토큰이 필요하기 때문에 PHP의 서버 측에서 발생하도록 초기 호출을 변경해야했습니다.

$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');

거기에서 JS 스크립트를 사용하여 새 ID가있는 개체를 사용자 피드에 게시 할 수 있습니다.

내가했던 것처럼 스스로 알아 내려고 노력하는 데 2 ​​일 반을 소비하지 않기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관