4

私の iOS アプリでは、Facebook ページとして Facebook ページに投稿したいと考えています。

ユーザーから「me/accounts」エンドポイントを介してページ アクセス トークンを取得します。ただし、投稿リクエストを作成するために、そのページ アクセス トークンを使用して FBSession を作成する方法がわかりません。

ページ アクセス トークンは文字列であり、ユーザーに「manage_pages」および「publish_streams」権限を求めることで正しく取得できました。

これを行う簡単な方法はありますか?fetchFBAccessTokenData を見てきましたが、どのように使用できるかわかりません。

4

2 に答える 2

4

答えは - これを見つけるのに長い時間がかかりました -initWithSession:FBSession.activeSessionである必要がinitWithSession:nilあり、アクセス トークンはparametersNSDictionary フィールドの方向を として設定する必要があります[parameters setObject:yourAccessToken forKey:@"access_token"]。FBSession.activeSession のアクセス トークンは、パラメーターの access_token をオーバーライドし (これは私見ではありません)、投稿がページとしての投稿ではなく、「ファン」投稿として表示されます。

[d addObject:yourFetchedAccessTokenString forKey:@"access_token"];
FBRequest *request = [[FBRequest alloc] initWithSession:nil
                                              graphPath:graphPath
                                             parameters:d
                                             HTTPMethod:@"POST"];

もちろん、アクセス トークンの持続時間など、他の問題もあります。これには、トークン キャッシング ステートジーが必要です: https://developers.facebook.com/docs/howtos/token-caching-ios-sdk/

ここで答えが見つかりました:https://github.com/facebook/facebook-ios-sdk/pull/483

于 2013-05-11T19:59:35.953 に答える
1

James O'Brien のコードに感謝します。それに加えて、以下のコードが必要になる場合があります。

FBRequestConnection *con = [[FBRequestConnection alloc] init];
[con addRequest:request completionHandler:^(FBRequestConnection *connection, id result, NSError *error){
    NSLog(@"facebook result >> %@", result);
    [self cancelfbshare:nil];

}];
[con start];
于 2013-07-02T10:13:01.007 に答える