2014-04-30 34 views
0

我是ios新手,我想在我的朋友帖子上寫點東西。我是試試這個代碼利用圖
API這是行不通的,請幫我ios在我的朋友的帖子上寫點東西

NSMutableDictionary* params = [NSMutableDictionary dictionary]; 
    [params setObject:@"Some text" forKey:@"user_message_prompt"]; 
    [params setObject:@"another text" forKey:@"action_links"]; 
    [params setObject:@"Yet another text" forKey:@"attachment"]; 
    [params setObject:@"SOME FACEBOOK ID" forKey:@"target_id"]; 




    FBRequest *request = [[FBRequest alloc] initWithSession:FBSession.activeSession 
                graphPath:@"https://graph.facebook.com/100000329153640/feed" 
               parameters:params 
               HTTPMethod:@"POST"]; 
    NSLog(@"%@",request); 

在這個NSlog--要求線返回此

graphPath: https://graph.facebook.com/100000329153640/feed, HTTPMethod: POST, parameters: { 
    "action_links" = "another text"; 
    attachment = "Yet another text"; 
    "migration_bundle" = "fbsdk:20131212"; 
    "target_id" = "SOME FACEBOOK ID"; 
    "user_message_prompt" = "Some text"; 
}> 

請給我解決 請您分享寶貴的知識...我在等待 Thankyou

回答

0

試試這個,

NSMutableDictionary *params = [NSMutableDictionary new]; 
    [params setObject:@"Some text" forKey:@"user_message_prompt"]; 
    [params setObject:@"another text" forKey:@"action_links"]; 
    [params setObject:@"Yet another text" forKey:@"attachment"]; 
    [params setObject:@"SOME FACEBOOK ID" forKey:@"target_id"]; 

    [FBWebDialogs presentFeedDialogModallyWithSession:nil 
             parameters:params 
              handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
               NSLog(@" RESULT : %u",result); 
              } 
]; 
0

你需要做的第一件事是請求發佈權限。我寫了這個輔助方法來做到這一點:

void runBlockWithPublishPermissions(void (^block)(FBSession *)) 
{ 
    FBSession *session = [FBSession activeSession]; 
    NSString *publishPermission = @"publish_actions"; 
    // If we already have publish permissions, then submit. 
    if (([session isOpen] && FB_ISSESSIONOPENWITHSTATE(session.state)) && 
     [session.permissions containsObject:publishPermission]) 
    { 
     block(session); 
    } 
    // Else request for the permissions, then submit. 
    else 
    { 
     [session requestNewPublishPermissions:@[publishPermission] 
           defaultAudience:FBSessionDefaultAudienceFriends 
          completionHandler:^(FBSession *session, NSError *error) { 
           if (!error) 
           { 
            block(session); 
           } 
           else 
           { 
            NSLog(@"Failed to request publish permissions: %@", error); 
           } 
          }]; 
    } 
} 

你會然後用你的代碼以下列方式:

void (^submit)(FBSession *) = ^(FBSession *session){ 
    NSMutableDictionary* params = [NSMutableDictionary dictionary]; 
    [params setObject:@"Some text" forKey:@"user_message_prompt"]; 
    [params setObject:@"another text" forKey:@"action_links"]; 
    [params setObject:@"Yet another text" forKey:@"attachment"]; 
    [params setObject:@"SOME FACEBOOK ID" forKey:@"target_id"]; 

    FBRequest *request = [[FBRequest alloc] initWithSession:session 
                graphPath:@"https://graph.facebook.com/100000329153640/feed" 
               parameters:params 
               HTTPMethod:@"POST"]; 
    [request startWithCompletionHandler:nil]; 
}; 
runBlockWithPublishPermissions(submit); 
相關問題