プロフィールのFacebookから壁の投稿を取得しようとしています。ファンページに問題はなく、ユーザートークンは有効です(少なくともファンページに対して)。
この投稿の例: https://www.facebook.com/aurelia.filion/posts/10151342315613445 ご覧のとおり、投稿は公開されています。
だから私は試してみます:graph.facebook.com/529628444_10151342315613445?access_token = MY_TOKEN graph.facebook.com/10151342315613445?access_token=MY_TOKEN
戻り値: "error":{"message": "Unsupported get request。"、 "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結果は返されません!空っぽです!
編集
この回答は、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
ユーザートークンを使用する代わりに、このトークンを使用します。
この投稿が古すぎるかどうかはわかりませんが、問題の解決策を探していたときに見つけました。
とにかく、私がパブリックユーザーからフィードを取得する方法を示します。
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アプリを登録する必要があります。上部のナビゲーションの[マイアプリ]に移動し、[新しいアプリの追加]に移動するだけです。それが完了すると、アプリIDとアプリシークレットにアクセスできます。
最初のリンク「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番目のリンクはフィードへのアクセスです(ajaxリクエストで追加するため、ここではacces_tokenを追加しません)
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);
}
});
});
コンソールに結果が表示されます。
成功関数を使用して、希望する方法で結果を処理します。