OK、ユーザーのウォール (タイムライン?) に投稿する方法を知っています。うまくいきます。
私が欲しいのは、ユーザーが自分の iPhone で特定のことをしたときに、それが APP の壁に投稿として表示されることです。投稿はユーザーの名前である必要があります。
何かのようなもの:
ラッキー・ルークの言葉: みなさん、こんにちは。
Zaphod Beeblebrox が Awesomeapp を使い始めました
プラス: アプリのユーザーのみがアプリのウォールに投稿できるようにする必要があります (ページの «アクセス許可の管理» の部分で、誰がウォールに投稿できるかを設定できる設定を見ました。誰もが投稿できるようにしたくありません。 )
私が正しければ、その投稿はユーザーのフィードにも自動的に表示されますよね? または、ユーザーのウォールに 2 回目の投稿を行う必要がありますか?
ユーザーが最初にアプリを使用するときに、次の権限を要求します: @"user_photos"、@"user_videos"、@"manage_pages"、@"read_stream"、@"publish_stream"、@"user_checkins"、@"friends_checkins"、@" email",@"user_location"
(最近、どこかで読んだときに read_stream と manage_pages を追加しましたが、役に立ちませんでした:)
これは、投稿を作成するために使用するコードです。
NSString *graphPath = [NSString stringWithFormat: @"/%@/feed?access_token=%@", FBAppID, [FBAccessToken stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
NSLog(@"graph path %@", graphPath);
NSDictionary *postParams =
@{
@"Test": @"message"
};
[FBRequestConnection
startWithGraphPath:graphPath
parameters:postParams
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (error) {
NSLog(@"error: domain = %@, code = %d, %@",
error.domain, error.code, error.description);
} else {
NSLog(@"Posted action, id: %@",
[result objectForKey:@"id"]);
}
// Show the result in an alert
}];
エラー 100 (メッセージまたは添付ファイルがありません - OAuthException) を返します。
私は2日間ほどグーグルで検索しましたが、適切なガイドラインが見つかりませんでした...ヘルプ!!! :)
【追記】何か企んでるかもしれません…
が問題だったようNSDictionary *postParams @{@"Test": @"message"};
です。適切なものを使用する[[NSDictionary alloc] initWithObjectsAndKeys: ...];
と、うまくいくようです...わかります:)
[編集] わかりました - 休憩を取る必要があるようです...
@{...} でディクショナリを初期化するには、最初にキー、次にオブジェクトが必要ですが、[NSDictionary dictionaryWithObjectsAndKeys:...] は最初にオブジェクトを設定し、次にキーを設定します...
私は今ちょっとばかげていると感じています...