HTTP POST URLのフィールド(パラメーター)を要求しているようです。HTTP POSTリクエストには、(通常) 、URLのスクリプト名の後に?param1 = value&param2 =valueなどの従来のGETリクエストで渡すときに慣れているパラメータが含まれていません。
POSTリクエストは、メッセージ本文内のサーバーにデータを送信します。チェックアウトしてください:http://en.wikipedia.org/wiki/POST_(HTTP)
あなたがそれを知ったので、これはあなたができることです:
従来のGETリクエスト(任意のWebブラウザに貼り付けて応答を取得できるURL)を使用して、いいねの数を取得できます。次に例を示します。
https://graph.facebook.com/260895413924000_605362559477282/likes?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
このURLは、その投稿/写真を気に入ったすべての人に返信します。
投稿/写真が公開されていることがわかっている場合は、?access_token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxを省略できます(https://www.facebook.com/photo.php?fbid=605362542810617&set=a.260905783922963.82517.260895413924000)。そうでない場合は、実際のaccess_tokenを1つ生成する必要があり(投稿する場合も生成する必要があります)、テストするには、https ://developers.facebook.com/tools/explorer/で実行できます。
写真を実際に気に入ってもらいたい場合は、ブラウザ内でコピー/貼り付けできるURLを単純に作成することはできません。これにより、同様のアクションがトリガーされます。これは、ブラウザがPOSTリクエストを実行しないため、Ivo Patrick Tudor Weissが提案したようにコードを介して実行する必要があります。または、テスト目的で、次のようにコンソールからcurlユーティリティを使用して実行できます。
curl --data "access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" https://graph.facebook.com/260895413924005362559477282/likes
そして、あなたはHTTP DELETEで同様のものを元に戻すことができます...このように:
curl --data "access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -X DELETE https://graph.facebook.com/260895413924000_605362559477282/likes
-更新、コメントでOPによって行われた追加の質問:
もちろん、ASIHTTPRequestを使用してGET、POST、およびDELETEHTTP要求を作成することは可能です。ただし、あなたの場合にそのライブラリを使用することはお勧めしません。1つの理由は、ASIHTTPRequestの作成者がライブラリでの作業を停止したことです。もう1つの理由は、Facebook SDK for iOSが他の多くのことをすでに処理しているため、より良い選択であるということです。ここで言われていることは例です:
まず、必要に応じて、次の3つの組み合わせのいずれかを入力します。
特定の投稿を気に入ったすべての人を取得します:(
簡単にするために、ここではaccess_tokenを省略しましたが、必要に応じてURLに追加できます)
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/260895413924000_605362559477282/likes"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
あなた自身の特定の投稿のように:
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/260895413924000_605362559477282/likes"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request appendPostData:[@"access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" dataUsingEncoding:NSUTF8StringEncoding]];
//[request setRequestMethod:@"POST"]; // <--- NOT NEEDED since it is the default if you previously called appendPostData
投稿とは異なり:
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/260895413924000_605362559477282/likes"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request appendPostData:[@"access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" dataUsingEncoding:NSUTF8StringEncoding]];
[request buildPostBody];
[request setRequestMethod:@"DELETE"];
次に、実際のリクエストを実行します。
[request startSynchronous];
NSString *response = [request responseString];
NSLog(@"Response: %@", response);
同期リクエストはテストには問題ありませんが、実際のアプリのメインスレッドで使用すると、GUIが応答しなくなることを覚えておいてください。ここで非同期リクエストを実行する方法を学びます:http://allseeing-i.com/ASIHTTPRequest/How-to-use
iOSの例として。ここにすべてのコードを書くのは多すぎるでしょう。そして、あなたはすでにIvo PatrickTudorWeissから完全に正しい答えを得ています。欠落しているのは、Facebookで認証してFBSessionを確立するために必要な定型コードだけです。
ここでこの資料を確認することをお勧めします:https ://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/
サンプルコードも含まれている最新のSDKをダウンロードし、FacebookWebのチュートリアルに従ってください。次に、基本を構成したら、Ivoから得た答えに戻ります。