3

iOSのFacebookGraphAPIにハイスコアを投稿しようとしていますが、すべてのトークンを通過することができません。アプリトークンとユーザートークンを保存するようにiOSライブラリを変更し、に投稿するときにアプリトークンを交換しましたhttps://graph.facebook.com/{my user id}/scoresが、ユーザートークンが必要であるというエラーが返されます。ユーザートークンを交換すると、アプリトークンが必要であると表示されます。

リクエストが完了する前にユーザートークンがスイッチインされたようなものかもしれないと思いましたが、リクエストがaccess_token投稿値として受け取ったアプリトークンで戻ってくることを2回と3回チェックしました。私が行ってきたデバッグによると、ユーザーアクセストークンとアプリアクセストークンの両方が必要です。

* oauth/access_tokenを呼び出した後*

NSString *tempToken = [[[NSString alloc] initWithData:[request responseText] encoding:NSUTF8StringEncoding] autorelease];
//Response is something like "access_token={APP ID}|{SOME HASHED VALUE}"
[fb setAppAccessToken:[tempToken substringFromIndex:13]];
[fb setAccessToken:[fb appAccessToken]];
NSMutableDictionary *scoreParams = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"20", @"score", nil];
[fb requestWithGraphPath:@"{MY USER ID}/scores" andParams:scoreParams andHttpMethod:@"POST" andDelegate:self];
[fb setAccessToken:[fb userAccessToken]];

USER ACCESS TOKENを使用する場合"(#15)このメソッドはアプリaccess_tokenを使用して呼び出す必要があります。"

APP ACCESSTOKENを使用する場合「このリソースをリクエストするには、ユーザーアクセストークンが必要です。」

また、publish_actionsを権限として使用しています。

4

0 に答える 0