2011-08-12 2 views
0

TwitterアカウントとFacebookページから6件の最新投稿を表示するページの横にボックスを作成しようとしています。 Twitterはまさに私が望むように働いています - Facebookはそうではありません。FQLを使用したFacebookステータスの返信

現時点では、FQLを使ってJSONをcURLとして最新のステータスを取得し、サーバー上にキャッシュして、実際のボックスのつぶやきと同じ方法で表示しています。

私の問題はアクセストークンにあります。私は昨夜それが働いていて、今朝戻ってきて、キャッシュされたファイルの変更日が変わっていないことに気づいた。キャッシュされたエラーファイル(取得したJSONに必要なデータが含まれていない場合はダンプされます)がチェックされ、セッションの有効期限が切れました。

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=XXX&client_secret=XXXX

しかし、私は、今というエラーが表示されます。このURLを使用して新しいアクセストークンを取得するために - 私は、その後(urgh、私が知っている3つのcURLの呼び出しやワンボックス)のcURLを使用しています小さな関数を作成しましたユーザーセッションは必須ですが、私がしたいのは、ユーザーにはまったく依存しない最新の投稿を読むことだけです。可能であればFacebook SDKの使用を避けたいと思っています。

Tl; dr - FQLは、設定されたページの壁からステータスを読み取るだけでもログインする必要があるようです - ユーザーセッションを必要としないこのデータを取得する正しい方法は何ですか? )。

答えて

1

ユーザーアカウントからステータスを取得しようとしている場合は、有効なユーザーアクセストークンが必要です。

あなたはファンページからステータスを取得している場合は、あなただけの有効なアプリケーションのアクセストークンが必要です - から入手することができます。

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials 
あなたは、その後からステータスを取得するために返されたアクセストークンを使用することができます

ターゲットファンページ。


ことが有効なユーザーのアクセストークンが必要になりますので、あなたはユーザーIDで照会しているuidは= XXXXのLIMIT 6

SELECT ID、STATUS_ID、メッセージ、状態からの時間。

+0

返信いただきありがとうございます。私は依然としてURLが提供するアクセストークンを使用しても、「ユーザーセッションが必要です」というエラー(102)が表示されています。私はそれが私の質問と関係するかもしれないと思っています - 私は制限された何かを得るかもしれませんか?私が使用しているクエリは次のとおりです。 SELECT id、status_id、message、time FROMステータスWHERE = XXXX LIMIT 6 – ollie

+0

私の更新された回答をご覧ください。 – jBit

+0

ありがとうございました! 'posts'テーブルの代わりに 'stream'テーブルをクエリする – ollie

関連する問題