私のアプリケーションでは、ユーザーは自分のアプリケーションに拡張アクセス許可を与えてアクセストークンを取得し、それを長期間アクセストークンとして保存します。ユーザーがオフラインのときにユーザーの友だちの壁に投稿する方法
このユーザーには、友だちのリストが表示され、ユーザーが選択します。
自分の名前とfbuidをデータベースに保存します。
今、将来、この友人の壁にメッセージを送信したいと思います。 これは可能ですか? 初期ユーザーがオフラインのときにFacebookの友だちにリンクを送信するための他のオプションはありませんか?
*更新 私は次のように長く住んでいたアクセストークンとオフラインアクセスを、これを行うことができました:
access_token = "AAACvmqy1nYoBAAZCk*************dZAMjsLxKxR7DaZBE0NxY8ZBGBW1q2mzsB9TDT0RvgeQcDdnyFJNAYRf0icnhlbikZD"
appID = '19307***********'
message = "Happy Birthday from your friends."
name = "Click here for your Birthday Surprise"
redirect_uri = URI.parse('http://localhost:3000/facebook/')
link = "https://www.facebook.com/dialog/oauth?client_id=#{appID}&redirect_uri=#{redirect_uri}"
caption = "Your friends have created a surprise for you. Click the link to see what it is."
picture = 'http://www.birthdaywall.net/logo-mail.png'
userID = '100002*********'
uri = URI.parse("https://graph.facebook.com/#{userID}/feed")
req = Net::HTTP::Post.new(uri.path)
result = req.set_form_data({:access_token => access_token , :message => message, :app_id => appID, :name => name, :link => link, :caption => caption, :picture => picture, })
sock = Net::HTTP.new(uri.host, 443)
sock.use_ssl = true
sock.start do |http|
response = http.request(req)
end
これが最善の方法である場合、私は知りませんが、それは私の作品私はそれを使用しています。もし誰かがより良い方法を持っていれば、私はそれについて知っていてとても幸せです。
をドキュメントによると、「publish_stream =>は、コンテンツを投稿するにアプリを有効にし、コメント、およびユーザーのストリームにしてするのが好きので、私は、私はoffline_accessを持っている必要はないと思いますこのアクセス許可を使用すると、オフラインアクセスを必要とせずにいつでもユーザーのフィードにコンテンツを公開することができますが、Facebookはユーザー主導の共有モデルを推奨しています。しかし、私はまだ公開するためにトークンを使用する必要があることを意味するかどうかわからない – chell
あなたは正しいと言います。だから既にそれを実装しようとしましたか?たぶんアクセストークンを保存する必要があるかもしれません。 – borisdiakur
私は公開することができました。上記の編集で示したように私はそれをしました。しかし、正しい方向へのプッシュをありがとう。 – chell