Я знаю, как любить фотографии/комментарии в Facebook. Но я хочу, чтобы Facebook страница через мое приложение. Является ли это возможным? Если да, может ли кто-нибудь дать мне несколько предложений?Facebook-страница, как в iOS
ответ
Это проблема. Если бы вы смогли это сделать, вы могли бы «понравиться» на странице программно, если бы пользователь не осознавал, что это то, что происходит. Это нарушит TOS Facebook.
Я думаю, вам будет лучше просто разместить в приложении обычную «кнопку» и позволить вашим пользователям решить, хотите ли они щелкнуть по ней.
Некоторые связанные должности -
Я написал метод свое призвание, которое вы можете полюбить вашу страницу, давая его URL в методе. Для этого метода вам необходимо использовать facebook sdk и добавить некоторые устаревшие файлы facebook как.
#import "Facebook.h"
#import "FBCustomLoginDialog.h"
#import "Accounts/Accounts.h"
Это до вас, как вы обнаружите, что файлы и использовать it.Any способ это рабочий код для страницы как.
-(void)like
{
NSString *[email protected]"http://in.yahoo.com/?p=us"; // here you page url
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
likePage, @"object",[[NSUserDefaults standardUserDefaults] valueForKey:@"token"],@"access_token",
nil];
[FBRequestConnection startWithGraphPath:@"/me/og.likes" parameters:params HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:nil message:[NSString stringWithFormat:@"liked with id %@",[result valueForKey:@"id"]] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
NSLog(@"result is %@",result);
}];
}
- (IBAction)likepageonFB:(id)sender
{
if ([[FBSession activeSession] isOpen]) {
[self like];
}else
{
[appDelegate openSession];
}
}
Вот код, используемый в приложении файл делегата ....
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[LikeAppViewController alloc] initWithNibName:@"LikeAppViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded) {
// To-do, show logged in view
// [self openSession];
} else {
// No, display the login page.
[self showLoginView];
}
return YES;
}
#pragma mark- Facebook Methods
- (void)sessionStateChanged:(FBSession *)session
state:(FBSessionState) state
error:(NSError *)error
{
switch (state) {
case FBSessionStateOpen:
{
[[NSUserDefaults standardUserDefaults] setValue:[[FBSession activeSession] accessToken] forKey:@"token"];
NSLog(@"token is %@",[[FBSession activeSession] accessToken]);
[self.viewController like];
}
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[self showLoginView];
break;
default:
break;
}
if (error) {
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
- (void)openSession
{
NSLog(@"open session called ");
NSArray *permissions=[[NSArray alloc] initWithObjects:@"publish_stream",@"publish_actions",@"user_likes",@"user_about_me",nil];
[FBSession openActiveSessionWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceEveryone allowLoginUI:YES completionHandler:^(FBSession *session,
FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
}
- (void)showLoginView
{
[self.viewController presentedViewController];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
return [FBSession.activeSession handleOpenURL:url];
}
- (void)fbDialogLogin:(NSString*)token expirationDate:(NSDate*)expirationDate
{
NSLog(@"expiry date is %@",expirationDate);
}
использовать этот файл FBCustomLoginDialog.h и FBCustomLoginDialog.m
Fb как виджет может быть встроен в нашем приложении. Вам просто нужно добавить webView и получить Fb Like Widget html code/URL here.
в ViewController.h, где вы хотите добавить кнопку FB, как:
#import <UIKit/UIKit.h>
@interface TestViewController : UIViewController <UIWebViewDelegate>
@property (strong, nonatomic) UIWebView * fbLikeWebView;
-(void)embedFBLikeButton;
@end
в TestViewController.m
#import "AboutUsViewController.h"
@implementation AboutUsViewController
@synthesize fbLikeWebView = _fbLikeWebView;
- (void)viewDidLoad
{
[super viewDidLoad];
//Add this code for FbLike Webview
self.fbLikeWebView = [[UIWebView alloc] initWithFrame: CGRectMake(100.0, 50.0, 55.0, 70.0)];
_fbLikeWebView.opaque = NO;
_fbLikeWebView.backgroundColor = [UIColor clearColor];
_fbLikeWebView.delegate = self;
[self.view addSubview:_fbLikeWebView];
for (UIScrollView *subview in _fbLikeWebView.subviews)
{
if ([subview isKindOfClass:[UIScrollView class]]) {
subview.scrollEnabled = NO;
subview.bounces = NO;
}
}
}
затем в методе ViewWillAppear вызвать метод enbeddFBLikeButton добавить кнопку fbLike wigdet на вид сверху:
-(void)viewWillAppear:(BOOL)animated
{
[self embedFBLikeButton];
[_fbLikeWebView reload];
}
-(void)embedFBLikeButton
{
NSString *facebookUrl = //here paste the url you get from fb developer link above;
[self.fbLikeWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:facebookUrl]]];
}
Вы соглашаетесь с UIWebViewDelegate no ж свою очередь, к определению й метод edelegate здесь:
#pragma mark - WebView Delgate Methods
- (BOOL)webView:(UIWebView *)webview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if ([request.URL.lastPathComponent isEqualToString:@"login.php"])
{
[self login];
return NO;
}
return YES;
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
[_fbLikeWebView stopLoading];
}
Этот метод для входа в систему пользователю facebook счета:
- (void)login
{
[FBSession setActiveSession: [[FBSession alloc] initWithPermissions:@[@"publish_actions", @"publish_stream", @"user_photos"]]];
[[FBSession activeSession] openWithBehavior: FBSessionLoginBehaviorForcingWebView completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
switch (status) {
case FBSessionStateOpen:
// call the legacy session delegate
//Now the session is open do corresponding UI changes
if (session.isOpen) {
FBRequest *me = [FBRequest requestForMe];
[me startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *my,
NSError *error) {
if (!my) {
NSLog(@"Facebook error:\n%@", error.description);
[[[UIAlertView alloc] initWithTitle: @"Error"
message: @"Facebook Login error."
delegate: self
cancelButtonTitle: @"Ok"
otherButtonTitles: nil, nil] show];
return;
}
}];
[_fbLikeWebView reload];
[[[UIAlertView alloc] initWithTitle: @""
message: @"Successfully Login. Please click on like button"
delegate: self
cancelButtonTitle: @"Ok"
otherButtonTitles: nil, nil] show];
}
break;
case FBSessionStateClosedLoginFailed:
{
[_fbLikeWebView reload];
}
break;
default:
break; // so we do nothing in response to those state transitions
}
}];
}
- 1. ios - Как объявить javascript в ios?
- 2. ios - Как разобрать HTML-контент в ios?
- 3. ios - Как вызвать javascript в ios?
- 4. ios: как запустить html-данные в ios?
- 5. IOS: Как реализовать MFSideMenu в проекте iOS
- 6. Как играть в iOS?
- 7. RestKit в iOS - Как отправить iOS и получить в java?
- 8. Как сделать интерфейс в iOS
- 9. как прокрутить UITableView в iOS
- 10. как закрыть приложение в ios?
- 11. Как интегрировать Vimeo в IOS?
- 12. Как сравнить NSDecimalNumber в iOS
- 13. Как печатать в iOS 4.2?
- 14. Как отменить жест в iOS?
- 15. Как получить контакты в iOS?
- 16. Как использовать QMacNativeWidget в IOS
- 17. Как отключить NSString в iOS
- 18. Как показать уведомление в IOS
- 19. Как отладить SIGABRT в iOS?
- 20. Как зарегистрировать устройство в ios
- 21. Как определить «TapEnded» в iOS
- 22. Как поддерживать стек в IOS?
- 23. Как настроить ориентацию в IOS
- 24. Как это сделать в iOS?
- 25. Как хранить информацию в iOS?
- 26. Как создать гиперссылку в iOS?
- 27. Как сжать изображения в iOS?
- 28. Как распечатать фотографию в iOS?
- 29. Как освободить subview в iOS
- 30. Как поместить стек в IOS?
можно написать код, используя Graph API, чтобы понравиться страницу facebook programmaatically. –
@AbdulYasin - не стесняйтесь добавлять свой собственный ответ. Я все еще не думаю, что это возможно. Оформить ссылки, которые я разместил, - все они содержат соответствующую информацию. – Lix
-Я много искал.И, наконец, пришел к выводу, что facebook не позволит нам понравиться страница без предварительного разрешения пользователя. Большое спасибо Lix ... Ну, что такое идеальный подход для симпатии к публичной странице. Ждем вас от вас. –