2011-07-12 33 views
0

私はFacebookのページ/ユーザーの壁に私の新しいイベントをオフラインで投稿したいと思っています。私の新しい出来事をチェックし、それを私のアプリケーションのユーザやページにオフラインで公開するスレッドや何かのようなものがあります。私はFacebook C#sdkとmvcを使用します ありがとうございました 私の質問を編集したい方や詳細を欲しい方は歓迎します投稿者Facebook/Facebookページからの投稿オフライン

答えて

2

私はあなたの質問を理解することができます、あなたはオフラインでも壁を投稿する必要がありますアプリケーションを必要とします。つまり、オフライン機能を持つFacebookのアプリケーションが必要です。

これは、オンラインで行うアプリケーションと同様の方法で実行できます。ユーザーとコンテンツのuidを保存するだけで、アプリケーションがオンラインになると、ユーザーの壁に投稿する権限が必要になり、コンテンツを投稿することができます。

+3

wnehnさんのアプリがオンラインになると、新しいイベントはページに公開されますが、私は自分のコードを内部に入れなければなりません。あなたがユーザーの権限を必要とするユーザーの壁に投稿するなど、タスクを実行するすべてのアプリケーションに対して –

+0

を公開することを発表します。アプリがオフラインになっているときは、投稿するコンテンツと投稿するユーザーのuidを保存してから、オンラインになってコンテンツを投稿するのに必要な権限を尋ねるだけです。 – iamkhush

1

まず、ユーザーから「offline_access」権限を要求する必要があります。

var auth = new CanvasAuthorizer { Permissions = "offline_access" }; 

ユーザーがアプリを追加したら、オフラインで使用することができ、「長寿命」トークンされる、生成された認証トークンを保存する必要があります。

saveToDatabase(auth.Session.UserId,auth.Session.AccessToken) 

イベントハンドラでは、保存されたトークンを使用してすべてのユーザーをループし、後で電話をかけるだけです。

foreach(var fbUser in SavedUsers) { 
    fbClient.AccessToken = fbUser.SavedAccessToken; 
    fbClient.Post(<desired post info>); 
} 
+0

は、私のアプリケーションの最初のアクションになる予定であり、アプリケーションページではなくFacebookページのアプリケーションページとしてアプリケーションページに投稿する予定です。アプリケーションページに投稿します。 –

+0

どうすればいいですか?それとCanvasAuthorizerについては、私はmvcで作業するときに任意のアクション内に置くことができます:)ありがとうございました。 –

+0

指定されたユーザーがプログラムで投稿したい場合は、ログに記録するときに単に "offline_access"トークンを生成できますそのユーザー(ここではhttps://developers.facebook.com/tools/explorer/?method=GET)でログインし、データベースに保存します。 自動的に転記するには、System.Threading.Timerがそのトリックを行う必要があります。 'var t = new Timer(YourPostingFunction、null、6000,6000);' – dcpar

関連する問題