Я работаю над своим заявлением в Кордове, чтобы получить его более вирусный. Поэтому я хочу включить Facebook и Open Graph API, чтобы публиковать в потоке новостей пользователей, когда они архивируют новые вещи в игре. Я совершенно новичок во всем fb и open-graph, поэтому, пожалуйста, помогите начать с него.Facebook Javascript SDK: публиковать действия с настраиваемыми объектами Open Graph
Я войти в систему нового пользователя, выполнив следующий код:
$(login).on("click", function() {
FB.login(function() {
console.log("Default Login succeded");
console.log("Asking for write permissions");
FB.login(function(rsp) {
console.log("GOT WRITE PERMISSIONS");
log(rsp);
}, {
scope : 'publish_stream'
});
}, {scope:"email"});
});
Я зарегистрировал открытое действие графа под названием buy
под пространством имен einszwo
. В качестве объекта я использую значение по умолчанию object
.
Это еще не проверяла, но я использую учетную запись разработчика facebook для входа на устройстве.
Теперь я хочу вызвать действие. Для этого я использую следующий код:
var obj = {
title : "I visited Google",
url : "http://www.google.com"
};
function callback(response) {
console.log(JSON.stringify(response));
}
FB.api('me/einszwo:buy','POST',obj, callback);
К сожалению, вызов не выполняется следующий ответ от Facebook:
{"error":{"type":"Exception",
"message":"The action you're trying to publish is invalid because it does not
specify any reference objects. At least one of the following properties
must be specified: object.","code":1611072}}
Было бы очень здорово, если бы кто-то может помочь мне с этой проблемой или предоставить мой некоторая информация, где я могу искать дополнительную информацию.
Спасибо!
Sebastian
EDIT
Решение просто вставить URL, как объекты работает, но мы хотим использовать Facebook принимал объекты, которые вы определили в Facebook Object Browser. Подход заключается в том, чтобы иметь возможность публиковать действия пользователя, и если кто-то нажимает на это действие, мы хотим, чтобы они были перенаправлены на нашу страницу информации о приложении.
Мы не можем предоставить страницу для каждого другого объекта. Разве нет возможности использовать SDK Facebook Javascript для использования предопределенных объектов, размещенных на facebook?
Я бы очень хотел, чтобы иметь возможность, как это либо создать новые объекты
var o = {
"og:title" : "Test " + new Date(),
"og:url" : "http://facebook.com/appcenter/**APPNAMESPACE**",
"og:type" : "Object"
}
FB.api('/me/**APPNAMESPACE**:buy', 'POST', {
object : o
}, function(response) { console.log(JSON.stringify(response));});
это возвращает
{"message":"(#3503) \"{\"og:title\":\"Test Thu May 23 2013 12:19:45 GMT+0300 (EEST)\",\"og:url\":\"http://facebook.com/appcenter/einszwo\",\"og:type\":\"Object\"}\" is an invalid value for property \"object\" with type \"Reference\"","type":"OAuthException","code":3503}
или способ использовать идентификатор из предопределенных объектов facebook как :
FB.api('1234567890', 'POST', {
}, function(response) { console.log(JSON.stringify(response));});
Может кто угодно h elp меня?
Спасибо!
Hej Philippe, большое спасибо за ваш полный правильный ответ с полным примером. Это решило мои проблемы, и я могу использовать объекты, принадлежащие приложению прямо сейчас! Большое спасибо! – Sebastian