8

Używam tego kodu, aby udostępnić zdjęcie na Facebooku.Oznacz kogoś w oknie dialogowym kanału z Facebook API

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:fb="https://www.facebook.com/2008/fbml"> 
    <head> 
    <title>My Feed Dialog Page</title> 
    </head> 
    <body> 
    <div id='fb-root'></div> 
    <script src='http://connect.facebook.net/en_US/all.js'></script> 
    <p><a onclick='postToFeed(); return false;'>Post to Feed</a></p> 
    <p id='msg'></p> 

    <script> 
     FB.init({appId: "13899290", status: true, cookie: true}); 

     function postToFeed() { 

     // calling the API ... 
     var obj = { 
      method: 'feed', 
      redirect_uri: 'YOUR URL HERE', 
      link: 'https://developers.facebook.com/docs/reference/dialogs/', 
      picture: 'http://fbrell.com/f8.jpg', 
      name: 'Facebook Dialogs', 
      caption: 'Reference Documentation', 
      description: 'Using Dialogs to interact with users.' 
     }; 

     function callback(response) { 
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id']; 
     } 

     FB.ui(obj, callback); 
     } 

    </script> 
    </body> 
</html> 

Chciałbym oznaczyć osobę, która jest na zdjęciu. Jak mogę to osiągnąć?

góry dzięki

+0

Czy jesteście pewni, że to niemożliwe. Jestem pewien, że ostatnio to widziałem. – Slrg

Odpowiedz

4

FB.ui metoda 'feed' jest równoznaczne z delegowania do API końcowym /USER_ID/feed wykres, który tworzy posty. Obecnie nie ma sposobu na tworzenie tagów dla postów przy użyciu api.

Ref:

https://developers.facebook.com/bugs/247911678652789

https://developers.facebook.com/docs/reference/api/post/

Alternatywnie, można przesyłać zdjęcia do albumu (lub/Me/zdjęcia) i obejmują tagi zdjęciu:

https://developers.facebook.com/docs/reference/api/photo/ [patrz sekcja "tagi: tworzenie"]

Oto, w jaki sposób mogę załadować użytkownika le i publikuje je z tagami:

// Upon successful file (photo) upload. 
$FILEPATH = $_FILES['file']['tmp_name']; 

// upload it to FB. 
$args = array(
    'name' => 'Testing photo upload via php-SDK!', 
    'source' => '@'.realpath($FILEPATH), 
    'tags' => array(
    array('tag_uid' => USER_ID, 'x' => 20, 'y' => 40), 
) 
); 
$post_id = $facebook->api('/me/photos', 'post', $args); 
+0

Dzięki, działa, ale nie chcę zapisywać zdjęcia w albumie. Muszę tylko opublikować okno dialogowe z tagami (używając ich identyfikatorów) ... Jesteście pewni, że to niemożliwe. Jestem pewien, że ostatnio to widziałem. – Slrg

1

Nie można oznaczyć w poście do kanału informacyjnego (/ home) lub autora Ściana (/ paszy). Zobacz artykuł o artykułach do dodania do postów na stronie Graph API docs. Nie ma parametru związanego z tagiem.

Jestem pewien, że widziałem to gdzieś niedawno

Co widzieliście może być przesłane zdjęcia, które zrobić pojawiają się w paszy, ale nie są klasyfikowane jako stanowiska do kanału informacyjnego przez API. Przesyłanie zdjęć akceptuje atrybuty tagów. Zobacz Dokumenty API Graph dla Photo.

8

Niestety, cant tag ludzie na oknie paszowego, ale tylko zdjęcia przy użyciu tagi param w „/zdjęć”.

Koncepcja jest dostępna tylko w przypadku opowiadań Open Graph.

UPDATE:

można oznaczyć osobę jedynie z ważnego miejsce parametru (jeśli chcesz, aby ukryć miejsce w poście podać dowolny prawidłowy identyfikator strony zamiast), post będzie wyglądać mniej więcej tak -


enter image description here

Chyba jest to jedyne możliwe rozwiązanie do znakowania przyjaciół na stanowisku, jeśli nie jest używany otwarty wykres

+0

Jak dodać parametr miejsca do okna dialogowego kanału? https://developers.facebook.com/docs/reference/dialogs/feed/ nie wydaje się o tym wspominać – shim

+0

Nie jestem pewien co do okna dialogowego kanału, ale miejsce jest poprawnym parametrem, jeśli publikujesz przez 'API' –

2

Znaleziony ten here:

Na przykład poniższa wiadomość wspomniałaby o stronie deweloperów na Facebooku: :

Test message @[19292868552] tag 

Ale Twoja aplikacja musi najpierw zostać poddane przeglądowi.

Powiązane problemy