如何使用Webview将Facebook按钮添加到iOS应用程序?

时间:2014-04-25 03:51:51

标签: ios facebook-like

现在我正在努力将Facebook添加到我的应用程序按钮。我推荐了许多网站,甚至开发人员.Facebook也没有提供正确的解释。他们只给了类似按钮的框架。任何人都可以帮助我使用Webview在我的应用程序中添加类似Facebook的按钮。

先谢谢

3 个答案:

答案 0 :(得分:2)

好的,这是来自工作项目:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:URL, @"object", nil];

  if (FBSession.activeSession.isOpen) {
    if (FBSession.activeSession.accessTokenData.accessToken) {
      [FBRequestConnection startWithGraphPath:@"/me/og.likes"
                                   parameters:params
                                   HTTPMethod:@"POST"
                            completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { }];
    } else NSLog(@"FBSession.activeSession.accessToken IS NULL");
  }

URL是您想要的对象的URL。 completionHandler阻止和FB验证没有代码,我希望你可以根据需要进行操作。

答案 1 :(得分:2)

要获得某些网址的点击次数,您可以使用以下代码:

NSString *likesRequestURL = [[NSString stringWithFormat:@"https://graph.facebook.com/fql?q=SELECT+total_count,+url+FROM+link_stat+WHERE+url+=\"%@\"&access_token=%@", URL, FBSession.activeSession.accessTokenData.accessToken] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:likesRequestURL]
                                                           cachePolicy:NSURLRequestReloadIgnoringCacheData
                                                       timeoutInterval:60.0f];

    __block NSString *result = [NSString string];

    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue]
                           completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {

                               if (error == nil) {
                                   NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                                   SBJsonParser *jsonParser = [[[SBJsonParser alloc] init] autorelease];
                                   result = [NSString stringWithFormat:@"%@", [[[[jsonParser objectWithString:jsonString] objectForKey:@"data"] objectAtIndex:0] objectForKey:@"total_count"]];
                                   [jsonString release];
                               } else {
                                   NSLog(@"Error = %@", error);
                               }
                           }];

请注意。在这种情况下使用了SBJSONParser,您可以使用它或替换其他东西,只需稍微更改相应的代码。

现在您可以创建完全自定义的按钮。

答案 2 :(得分:0)

这不对。有一种方法可以实现Like功能而不是UIWebViewFBRequestConnection。如果您想使用UIWebView - 同事给出正确答案,但如果您想使用其他方式 - 让我知道。