Пользовательское действие Open Graph, которое ссылается на другого пользователя - PullRequest
10 голосов
/ 29 сентября 2011

У меня есть вопрос о бета-версии Open Graph.

Документация, на которую я смотрю, такова https://developers.facebook.com/docs/beta/opengraph/ Я успешно определяю пользовательские объекты и действия. Однако я не могу понять, как связать текущего пользователя с другими пользователями. Например, скажем, я определяю настраиваемое действие «удар». Я хочу, чтобы текущий пользователь мог «пнуть» одного из своих друзей. Ближайший объект, который я могу вспомнить, это «профиль», но когда я передаю user_id, «http://www.facebook.com/profile.php?id=', или http://graph.facebook.com/,, он не работает.

Это запросы, которые я пытался

POST https://graph.facebook.com/me/myapp:kick?access_token=abc&profile=http%3A%2F%2Fwww.facebook.com%2F123
POST https://graph.facebook.com/me/myapp:kick?access_token=&profile=123
POST https://graph.facebook.com/me/myapp:kick?access_token=abc&profile=http%3A%2F%2Fwww.facebook.com%2Fprofile.php%3Fid%3D123
POST https://graph.facebook.com/me/myapp:kick?access_token=abc&profile=http%3A%2F%2Fgraph.facebook.com%2F123

Это ответ, который я получаю

{"error":{"message":"An unexpected error has occurred. Please retry your request later.","type":"OAuthException"}}

1 Ответ

3 голосов
/ 24 ноября 2011

Данный профиль предназначен для внешнего веб-сайта.Они называют это внешним профилем.Довольно вводящие в заблуждение термины.

Kicked a website

Как видите, я использовал следующее

curl -F 'access_token=TOKEN' \
     -F 'profile=http://graph.facebook.com/zuck' \
        'https://graph.facebook.com/me/MYAPP:kick'

И это дало вышеописанное.

I угадайте вы можете заполнить внешний профиль метаинформацией от пользователей Facebook, и он будет отображаться нормально (например, вместо этого я могу отправить URL профиля в facebook.com/zuck), но он кажется обратным, неэффективным, а непредполагаемое использование.

Например, кормить его моей ссылкой.

curl -F 'access_token=TOKEN' \
     -F 'profile=http://facebook.com/username' \
        'https://graph.facebook.com/me/MYAPP:kick'

Kicked myself

Но дело в том ... Я не музыкант.

Хотя в представлении агрегации все выглядит хорошо.

Aggregation

Что интересно / странно, поскольку один из объектов, показанных на этом рисунке, является профилем Facebook, так что вы могли бы подумать, что ониприведите пример с профилями Facebook в качестве объектов.

Graph presentation

Хотя они и сказали

Сейчас мы расширяем Open Graph, чтобы включить произвольные действия и объектысозданные сторонними приложениями и позволяющие этим приложениям глубоко интегрироваться в Facebook

Что, скорее всего, означает, что они хотят, чтобы вы создавали произвольные объекты вне Facebook.

Можете ли вы по-прежнему ссылаться на других пользователей?
Да, но с помощью тегов, используя tags=FacebookID1,FacebookID2, но это будет в виде

phwd пнул музыканта сДруг1 и Друг2 в [ИМЯ ПРИЛОЖЕНИЯ]

...