nimrod
nimrod

Reputation: 5732

Post string on Facebook wall without showing dialog (iPhone Facebook SDK)

I have been searching stackoverflow and the internet and did no find a working solution for my intention.

I want to call a method with a string as parameter which is then posted to the facebook wall without showing a dialog. Of course only when a valid session is available.

I tried this:

// post message to facebook pinnwall
- (void)postOnWall:(NSString *)message {

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: message, @"message",nil];
    [[FBRequest request] call:@"facebook.stream.publish" params:params];
}

Can you guys help me ou with a working method?

Thanks and cheers, doonot

Upvotes: 5

Views: 7698

Answers (4)

Darshan
Darshan

Reputation: 2379

NOTE : must need "publish_actions" permission and also handle and check accessToken & user is logged in or not.

func postMessageOnFaceBookWall() 
   {
        FBSDKGraphRequest(graphPath: "me/feed", parameters: ["message": "Hello my test post"], httpMethod: "POST").start { (connection, result, error) in
            if error == nil{
                //Handle your response here
           }
            else{
               // error
            }
        }
    }

Upvotes: 0

Splendid
Splendid

Reputation: 1061

Posted to Facebook Wall u should go through JSON

check out this delgates

- (void)postToWall {

    FBStreamDialog *dialog =[[[FBStreamDialog alloc]init ]autorelease];

    dialog.userMessagePrompt = @"Whats on your Mind about this Articles...";
    dialog.attachment = [NSString stringWithFormat:@"{\"name\":\"The Black Sheep: %@ Specials for %@, %@ \",\"href\":\"http://%@/\",\"caption\":\" %@ \",\"description\":\"\",\"media\":[{\"type\":\"image\",\"src\":\"%@\",\"href\":\"http://www.raywenderlich.com/\"}]}",
                         [[BarSplArr objectAtIndex:0]objectForKey:@"barname"],day,date,[[BarSplArr objectAtIndex:0]objectForKey:@"barwebsite"],[[BarSplArr objectAtIndex:0]objectForKey:@"drinkspecials"],[[BarSplArr objectAtIndex:0]objectForKey:@"barimage"]];
    //dialog.actionLinks = @"[{\"text\":\"See My App here!\",\"href\":\"http://www.facebook.com/developers/apps.php?app_id=178257532217623&ret=2/\"}]";
    [dialog show];
}

better u can follow up this way. http://www.raywenderlich.com/77/how-to-post-on-facebook-with-your-iphone-app

superb tutorial

Upvotes: 0

teriiehina
teriiehina

Reputation: 4761

as Aby said, you have to look at the Graph API to user FB at its full potential.

simple code:

NSMutableDictionary *fbArguments = [[NSMutableDictionary alloc] init];

NSString *wallPost = @"the super wall post";
NSString *linkURL  = @"http://www.supersite.com";
NSString *imgURL   = @"http://www.supersite.com/image.jpg";

[fbArguments setObject:wallPost forKey:@"message"];
[fbArguments setObject:linkURL  forKey:@"link"];
[fbArguments setObject:imgURL   forKey:@"picture"];

[facebook requestWithGraphPath:@"me/feed" 
                    andParams:fbArguments
                andHttpMethod:@"POST"
                  andDelegate:self];

Upvotes: 9

insomiac
insomiac

Reputation: 5664

Have you tried using Graph API..
If you like your application to print on the wall without the user interaction like Dialog box you can use the Graph API.. http://developers.facebook.com/docs/reference/api/post/

Upvotes: 0

Related Questions