2016-03-29 12 views
-2

私がやっていることは、facebookから友達のポストを読んだり(MVCで表示する)、facebookのドキュメントがかなり不足していることです。他の ウェブサイトのチュートリアルにも同じような問題があります:2014年以降の記事も既に時代遅れです。私が理解しているところから、私はfb dev(登録済み)として登録し、私のアプリケーションを登録して (done)、アプリケーショントークンを取得する(semi-done、私はUser Access Tokenしか取得しない)、次にHttpClient (実際の問​​題がどこから始まるかはここにあります)。 まず最初に、どのようなURLが表示されるはずですか?私は、この設定を思い付くことをどうにかしてこれまでのところ:MVCでFacebookのポストを読む

https://graph.facebook.com/<profile_id>/feed?access_token=<user_access_token>/

これは(少なくとも私の知る限り)になっている、指定したユーザーからの最新記事を取得し、私はことを貼り付けるときに私が得るすべてブラウザに次のとおりです。

{ 
    "data": [ 

    ] 
} 

上記URLの「フィード」はまた、「ポスト」に置き換えることができますが、私はちょうどこの二つの違いを得ることはありません。いくつかの(時代遅れの)graph-apiの基礎を読んだ後、私は別のクエリ構文が正しいはずで、グラフAPIのエクスプローラでテストできることを知っていますが、もう一度、欠けている(私は何を試してもエラーを出す)。ユーザーの最新投稿5件を取得する予定ですが、エクスプローラでデバッグしようとすると、トークンを含める必要があると言われていますが、どのようにすればいいのかわかりません。これは次のようになります:me?fields=posts.limit(5) ところで、あなたのために行うページをグーグルで探すのではなく、プロフィールのIDを取得する方法がありますか?私はFacebookの解説を読んだ後、何も見つけられませんでした。 もう1つの質問は、ユーザーアクセストークンではなくApp Tokenを取得する方法です。最初のオプションは常にグレー表示されています。

+0

公式文書は古くはありません。 https://developers.facebook.com/docs/graph-api/reference/v2.5/user/feedこれは、あなたが読んで欲しいフィードのユーザーの許可が必要であることを伝えます。無作為のユーザーのフィードを気にせずに読むことはできません。 – CBroe

+0

私はおそらく、より正確であったはずです。それは、すべてのページで時代遅れではありません。いくつかのドキュメントページはよく書かれていますが、明示的な情報やリンクがないものもあれば、グラフapiの概要のように、時代遅れで機能していないものもあります。たとえば、「フィード」はユーザーの許可が必要であることを明確に示していますが、「ポスト」ページからその情報を取得するのは難しく、特に自分のような新鮮な開発者にとっては難しいです。どちらのページも、ユーザーからどのようにアクセス許可を得ることができるかをリンクしたり、述べたりしていません。 – Amai

+0

https://developers.facebook.com/docs/graph-api/reference/v2.5/postは、どのようなアクセス許可も必要とされていることを明確に示しています。アクセス許可を求める方法については、https://developers.facebook.com/docs/facebook-login/permissions/requesting-and-revokingを参照してください。 – CBroe

答えて

1

ここにこのリンクはかなりそれをすべて持っている、非常によく説明:Embedding facebook feeds using asp.net mvc それはいくつかの点で404を行く場合は、ここでのコードだ:FBPostsModelについては

public ActionResult GetMyFacebookPageFeeds() 
{ 
var NumberofFeeds = 3; 
string PageId = "YOUR_FACEBOOK_PAGE_NAME_HERE"; 
string AccessToken = "PLACE_YOUR_ACCESS_TOKEN_HERE"; 
FBPostsModel posts; 
string FeedRequestUrl = string.Concat("https://graph.facebook.com/" + PageId + "/posts?limit=", NumberofFeeds, "&access_token=", AccessToken); 
HttpWebRequest feedRequest = (HttpWebRequest)WebRequest.Create(FeedRequestUrl); 
feedRequest.Method = "GET"; 
feedRequest.Accept = "application/json"; 
feedRequest.ContentType = "application/json; charset=utf-8"; 
WebResponse feedResponse = (HttpWebResponse)feedRequest.GetResponse(); 
using (feedResponse) 
{ 
    using (var reader = new StreamReader(feedResponse.GetResponseStream())) 
    { 
     posts = JsonConvert.DeserializeObject<FBPostsModel>(reader.ReadToEnd()); 
    } 
} 
return View(posts); 
} 

、あなたが貼り付けて、そのを得ることができます結果として得られるメッセージ/ページ全体をコピーし、新しいクラス(FBPostsModelという名前)を作成し、Visual StudioでJSON変換を貼り付けるオプションを使用して、ブラウザに完全なURL(取得したいものと有効なアクセストークンを持つ)編集 - >形式を選択して貼り付け - > JSONをクラスとして貼り付けます)。

また、ランダムなFacebookのプロフィールにアクセスしようとすると、空のデータの結果として、そのユーザーからの許可が必要です。独自のアクセストークンを使用すると、プロファイルとファンページのみを照会することができます。

関連する問題