12

プロフィール facebook から壁の投稿を取得しようとしています。ファン ページに問題はなく、ユーザー トークンは有効です (少なくともファン ページでは)。

この投稿の例: https://www.facebook.com/aurelia.filion/posts/10151342315613445 ご覧 のとおり、投稿は公開されています。

だから私は試してみます:graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN

戻り値: "error": { "message": "サポートされていない get リクエスト", "type": "GraphMethodException", "code": 100

私の Api グラフ エクスプローラーでは、このユーザーからの投稿も表示されません。graph.facebook.com/529628444?fields=posts (529628444 は aurelia.filion の ID)

それで、壁の柱を手に入れることは可能ですか?それは公開されており、それらを取得する方法であるべきです

ありがとう


わかりました別の方法で説明します。私の目標は、この種の投稿をグラフで取得することです (これら以外のすべての投稿を取得できます)

facebook.com/aurelia.filion/posts/10151342315613445

facebook.com/aurelia.filion/posts/10151336175793445

しかし、「サポートされていない取得リクエスト」というエラーが表示されます。

ユーザートークンとアプリトークンの両方を試しましたが、このリンクは機能しません:graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN

フィードを試してみると、必要な投稿が表示されません。

そして、投稿をリクエストした場合、graph.facebook.com/529628444/posts?limit=100&access_token=TOKEN 私はおかしな投稿以外のすべて (リンク、写真など) を見ることができます!!

これらの投稿を取得するにはどうすればよいですか、トークンの問題ですか、ステータスのように見えますが、取得するのは違いますか、権限が必要ですか? graph.facebook.com/529628444?fields=statuses&access_token=TOKEN 結果が返されません! 空っぽです!

編集

4

2 に答える 2

11

編集

この回答は、Graph API バージョンが最初のバージョンであったときに書き戻されました。当時は、ユーザー ID を使用してユーザー フィードを取得できましたが、現在、ユーザー ID はアプリ間で共有されていません。また、Facebook は一部のパートナーのみが利用できる新しい APIを作成しました。

そのため、ユーザーがアプリを使用していない限り、パブリック ユーザー フィードを取得することは現時点では不可能です。ただし、ページ フィードは引き続き取得できます。

古いバージョン

この回答は、グラフ API v1 に対するものでした

したがって、これを使用する必要がありますhttps://graph.facebook.com/529628444?fields=feed&access_token=YOUR_TOKEN

また、公開データのクエリだけが必要な場合は、次のようにして APP トークンを作成できます。

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

ユーザートークンを使用する代わりに、このトークンを使用してください。

于 2013-03-25T16:25:04.100 に答える
7

この投稿が古すぎるかどうかはわかりませんが、問題の解決策を探しているときに見つけました。

とにかく、公開ユーザーからフィードを取得する方法を示します。

        var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";
        var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";

        $.get(fbul, function(auth_token){
            $.ajax({
                dataType: "jsonp",
                url: fburl+auth_token,
                success: function(res){
                    console.log(res);

                }
            });
        });

ここで簡単な説明: Facebook 開発コンソール ( https://developers.facebook.com ) に移動し、新しい Web アプリを登録する必要があります。上部のナビゲーションで [マイ アプリ] に移動し、[新しいアプリを追加] に進みます。これが完了すると、App ID と APP Secret にアクセスできます。

最初のリンク「var fbul」は、フィードにアクセスするために必要な access_token を取得するためのものです。

var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";

[AppID] と [AppSecret] を独自のキーに変更するだけです。

2 番目のリンクはフィードにアクセスするためのものです (ここでは acces_token を追加しません。これは ajax リクエストで行うためです)。

var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";

ここの数字(2013177599....)は公開サイトのチャンネルIDです。その番号を取得するには、http://findmyfacebookid.com/にアクセスし、Facebook の URL をパブリック ユーザーに入力します。

それはあなたが必要とするほとんどすべてです。

次のように ajax リクエストを記述します。

$.get(fbul, function(auth_token){
            $.ajax({
                dataType: "jsonp",
                url: fburl+auth_token,
                success: function(res){
                    console.log(res);

                }
            });
        });

コンソールに結果が表示されます。

成功関数を使用して、必要な方法で結果を処理します。

于 2015-07-17T14:14:01.923 に答える