2

アプリにTitaniumでpublish_actionsを使用しようとしていますが、 「sdk facebook error 5」が発生します。Facebook が最近この許可を変更したことを知りました。今では、承認のためにアプリ、スクリーンショット、その他のものを送信する必要があります。scope 属性のように、この権限を開発者として使用するためのドキュメントがいくつかありますが、titanium のドキュメントは見つかりませんでした。アプリの管理者である Facebook アカウントを使用しています。

このコードは現在機能していません:

        fb.permissions = ['publish_actions'];  
        //I've also used fb.permissions = ['publish_stream'];  
        fb.authorize();

        // ...
        // ...

        // Now create the status message after you've confirmed that authorize() succeeded
        fb.requestWithGraphPath('me/feed', {message: "Trying out FB Graph API and it's fun!"}, 
                 "POST", function(e) {
            if (e.success) {
                alert("Success!  From FB: " + e.result);
            } else {
                if (e.error) {
                    alert(e.error);
                } else {
                    alert("Unkown result");
                }
            }
        });

ありがとう!

4

1 に答える 1

0

developers.facebook.com でアプリケーションをセットアップしましたか? そうでない場合は、Facebook を使用する前にそれを行う必要があります。

もしそうなら、これが私の有効な認証コードです (私は画像、ビデオ、ステータスの更新をプロフィールや私が管理しているページに投稿できます。私のアプリケーションはまだテスト中です - 私はまだ Facebook の承認プロセスを経ていません)。

facebook = require('facebook');
facebook.appid = 'xxxxxxxxxxxxxxxxx'; //app id you'll get from Facebook when you create an app
facebook.permissions =  ['publish_actions, manage_pages'];

 facebook.createLoginButton({
    style : facebook.BUTTON_STYLE_WIDE
});

Facebook のポップアップを介して認証し、必要な権限を取得したら、次のように投稿できます。

var acc = fb.getAccessToken();
facebook.requestWithGraphPath('me/feed?access_token='+ acc, {message: data}, "POST", showRequestResult); 

data は、ステータス更新で投稿したい単なるテキストです。

他の誰かと一緒にアプリをテストする場合は、Facebook アプリの設定でその人をテスターとして追加してください。そうしないと、彼らは認証できません。

編集: createLoginButton() を使用すると、authorize() が呼び出されます。そのため、私のコードにはその呼び出しがありません。

于 2015-01-26T05:04:17.833 に答える