私はこれに何時間も費やしましたが、うまくいきません。基本的には、自分のアプリに、Facebook で自分自身を「いいね」するボタンが必要なだけです。私はdev Facebookでアプリを作成し、関連するアプリページを持っています。私のコードでは、これらのアクセス許可を要求します。
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"publish_actions", @"user_birthday", nil];
プロフィール写真は問題なく取得できますが、次のコードを使用して「いいね」しようとすると:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
_facebook.accessToken, @"access_token",
nil];
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:self];
次のエラー応答が表示されます。
(facebookErrDomain error 10000.)" UserInfo=0x20090590 {error={
code = 200;
message = "(#200) Requires extended permission: publish_actions";
type = OAuthException;
}}
アプリにログインすると、Facebook が私の誕生日を表示する許可を求めてきて、代わりに投稿すると言われましたが、publish_actions 許可を得ていないようです。
私がしなければならないことが欠けていますか?
Temple Run には Facebook の Like ボタンがあり、それを押すとボーナス コインが提供されるようです。これが私が達成したいことです。
編集 - - - -
権限を @"publish_actions"、@"user_birthday" だけに変更したところ、認証ダイアログに次のように表示されました
「このアプリは、あなたが気に入ったオブジェクトなどを含め、あなたに代わって投稿することがあります」
これは publish_actions 許可のようですが、まだエラーが発生していました
message = "(#200) 拡張アクセス許可が必要です: publish_actions";
この行を変更しました:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:selrf];
これに:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andDelegate:self];
そして、「いいね」を投稿していませんが、応答が返ってきます
これは結果応答です。
{
data = (
);
paging = {
next = "https://graph.facebook.com/329756493773381/og.likes?sdk=ios&sdk_version=2&access_token=BAAGeAp3ZBGwoBAPICjlgB5zK0YECyP8yElf8hJoMrx8Qs4vjeZAK5PlXFAVbGM1JyXHE0wZBvU0aBeCzCUTZBejQgoJ44CAIQsrG64TfrHdxjMqWD&format=json&offset=25&limit=25";
};
}
次に何を試してみますか?
EDIT 2 --------------- 私はこれを進めています。このようにユーザーIDをグラフリクエストに追加しました
NSString *graphPath = [NSString stringWithFormat:@"%@/og.likes",facebookID];
これらのパラメータを使用しました
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"AAAGeAp3ZBGwoBABvKjsPZAoQQNG9cDPJI2v2TI8acyyPSNtm9ZBkfydHqVZAjSKWSbLuvFwxyxSrCts7kFZCnh7Y6f5PFNlWb6smF8XF33wlRZBgfLyhT1", @"access_token",
@"http://samples.ogp.me/329756493773381", @"object",
nil];
そして今、タイムラインにいいねが表示されます:-) Facebookログインによって提供されたアクセストークンを使用していましたが、グラフオブジェクトによって提供されたものは異なるようです.
今、私が見ているようなものにはこのパターンがあります:
Darren は MyAPP のオブジェクトが好きです
それをそのままにすることさえ可能ですか
Darren は MyAPP が好きで、アプリの Facebook ページにリンクしていますか?
ありがとう