私は自分の Cordova アプリケーションをよりバイラルにするために取り組んでいます。したがって、Facebook と Open Graph API を含めて、プレイしているユーザーがゲーム内で新しいことをアーカイブしたときに、そのニュース ストリームに公開したいと考えています。私はfbとオープングラフ全体にまったく慣れていないので、それを始めるのを手伝ってください。
次のコードを実行して、新しいユーザーをログインします。
$(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
名前空間 の下で呼び出される Open graph アクションを登録しました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}}
誰かがその問題について私を助けてくれたり、さらに情報を探すことができる情報を提供してくれたりしたら、本当に素晴らしいことです.
ありがとうございました!
セバスチャン
編集
オブジェクトが機能するときに URL を貼り付けるだけのソリューションですが、 Facebook Object Browserで定義した Facebook がホストするオブジェクトを使用したいと考えています。アプローチは、ユーザーのアクティビティを公開できるようにすることです。誰かがそのアクティビティをクリックした場合、アプリケーション情報ページにリダイレクトされるようにします。
異なるオブジェクトごとにページを提供することはできません。Facebook Javascript SDK を使用して、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 オブジェクトの ID を使用する方法:
FB.api('1234567890', 'POST', {
}, function(response) { console.log(JSON.stringify(response));});
誰でも私を助けることができますか?
ありがとう!