2012-03-01 9 views
1

iOSアプリケーションでは、Facebookのpublish_stream権限をユーザーに付与したかどうかを確認するだけです。ユーザーが特定の権限を許可しているかどうかを確認する方法Facebook iOS

は、私は私のFBRequestデリゲートメソッドで呼び出し

[facebook requestWithGraphPath:@"me/permissions" andDelegate:self]; 

への応答を処理するかどうかはわかりません。私は試しました:

if (request == self.permissionRequest) { 
     NSString *key = [result objectForKey:@"publish_stream"]; 
     DLog(@"Key: %@", key); 
    } 

私はnullを返します。

そして、私は

id *key = [result objectForKey:@"publish_stream"]; 
int keyInt = [key integerValue]; 
DLog(@"Key: %i", keyInt); 

をしようとした場合、私は許可が有効になっている知っている場合でも、私は常に0を取得...

答えて

3

あなたは「私/権限でオープングラフAPIとFBRequestを作ることができます" これは、鍵がパーミッションである辞書の応答を返します。値は関連付けられます(1 = YES、0 = NO)

+0

これは本当に最速ですか?現在のセッションが有効であるかどうかをチェックするのと同時にこのテストをしたいので、数秒かかるでしょう...私は手でテストをやろうとすることができると思います... – Smikey

+0

私はこれが最高だと思いますあなたの質問であればSDKメソッドはありません。 – Aymarick

+0

私はidキーを試しました= [result objectForKey:@ "publish_stream"]; DLog(@ "キー:%@"、キー); 'key'はnullですか? – Smikey

3

ここでは、create_eventsで行った作業サンプルを示します。他の人にも使えます:

FBRequest *eventPostOK = [FBRequest requestWithGraphPath:@"me/permissions" parameters:Nil HTTPMethod:@"GET"]; 
[eventPostOK startWithCompletionHandler: ^(FBRequestConnection *connection, 
NSDictionary* result, 
NSError *error) { 
     BOOL canDoIt = FALSE; 
     if (!error) 
     { 
     FBGraphObject *data = [result objectForKey:@"data"]; 
     for(NSDictionary<FBGraphObject> *aKey in data) { 
      canDoIt = [[aKey objectForKey:@"create_event"] boolValue]; 
      } 
     } 
     else 
     NSLog(@"%@", error); 

     NSLog(@"%@", canDoIt ? @"I can create Events" : @"I can't create Events"); 
     }]; 
関連する問題