2013-06-17 11 views
12

Stworzyłem niestandardowy obiekt o nazwie "Opinia", aby tworzyć niestandardowe historie wokół niego.Facebook Javascript Otwarty wykres SDK: błąd przy dodawaniu niestandardowych obiektów do niestandardowych opowieści

Próbuję dodać niektóre obiekty aplikacji z mojej witryny za pomocą javascript sdk.

Przykładowy kod facebook daje mi to:

FB.api(
    'me/objects/[namespace]:opinion', 
    'post', 
    { 
    app_id: xxxxxxxx, 
    type: "[namespace]:opinion", 
    url: "http://samples.ogp.me/331257847005141", 
    title: "Sample Opinion", 
    image: "https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png", 
    description: "" 
    }, 
    function(response) { 
    // handle the response 
    } 
); 

reponse jest błąd (OAuth wyjątków):

2500: Cannot specify type in both the path and query parameter. 

Jeśli usunąć parametr type, otrzymuję inny błąd:

(#100) The parameter object is required 

To samo, jeśli usuwam [namespace]:opinion ze ścieżki.

Nie rozumiem, dlaczego, i nie ma o tym odniesienia po googling go.

Dlaczego to? Każdy zasób, do którego mogę się odwołać, aby to rozwiązać?

Odpowiedz

19

Obiekt jest wersją obiektu zakodowaną w JSON, a wygenerowany dla ciebie przykładowy kod był niepoprawny. Usuń także typ z listy parametrów.

Więc coś,

FB.api(
    'me/objects/[namespace]:opinion', 
    'post', 
    { 
    object: {"app_id":xxx,"url":"http:\/\/samples.ogp.me\/331257847005141","title":"\"Sample Opinion\"","image":"https:\/\/s-static.ak.fbcdn.net\/images\/devsite\/attachment_blank.png","description":"\"\""} 
    }, 
    function(response) { 
    // handle the response 
    } 
); 

przykładem tego, jak to wygląda można zobaczyć na http://philippeharewood.com/facebook/objectify.html i opierał się wywinięcia przykład podany w https://developers.facebook.com/docs/opengraph/using-object-api/

+9

Wstydź się z tobą na Facebooku. Ten przykład jest nadal oficjalny w dokumentach na Facebooku. – Freshblood

+0

Pomyślałem tylko, że chciałbym zauważyć, że dla mnie, aby to działało, musiałem usunąć "/ objects" z pierwszego parametru i zastąpić nazwę "object" w obiekcie JSON nazwą mojego obiektu Facebook. Może to jest oczywiste dla wszystkich: 0) – craigvl

+0

Nie mogę ci wystarczająco podziękować. Cały kod wygenerowany przez Facebook i kod w ich dokumentach jest niepoprawny. Spędziłem 4 godziny dzisiaj próbując rozwiązać to – user2158382

3

Na każdy zmaga się z podobnym problemem na iOS , przykładowy kod znów wydaje się być błędny, jednak wydaje się, że działa:

NSMutableDictionary<FBOpenGraphObject> *object = 
[FBGraphObject openGraphObjectForPostWithType:@"<appnamespace>:<objecttype>" 
    title:@"..." 
    image:[result objectForKey:@"uri"] 
     url:nil 
    description:@"..."]; 

[FBRequestConnection startForPostOpenGraphObject:object completionHandler:^(FBRequestConnection *connection, id result, NSError *error) 
{ 
    // handle the result 
    if (error) { 
     DLog(@"error %@ creating object", error); 
    } else { 
     ... 
    } 
}]; 
Powiązane problemy