如何使用我们的应用程序在ios设备中获取登录用户详细信息的Instagram应用程序?

时间:2013-09-19 10:12:48

标签: iphone ios objective-c ipad instagram

这是我第一次使用Instagram API。如果用户已在其设备中使用Instagram应用,我们如何从我们的应用程序中获取用户详细信息?

现在我的应用程序正在重定向到safari并在那里询问Instagram凭据,虽然我的iPhone上有Instagram应用程序,但我登录了。

任何人都可以帮我这个吗?

3 个答案:

答案 0 :(得分:1)

我们需要Instagram.hInstagram.m文件来获取Instagram用户详细信息。

您需要在Instagram开发者网站中创建一个应用程序来获取应用ID。

instagram = [[Instagram alloc] initWithClientId:APP_ID delegate:nil];

NSString *const instagramUrlScheme = @"---YourAppName---";

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {  //openo   

    if ([urlStr hasPrefix:instagramUrlScheme]) {

        //[self showAlertWithTitle:THIS_METHOD message:url.description];
        return [self.instagram handleOpenURL:url];
    }
}

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {


    NSString *urlStr = url.description;    

    if ([urlStr hasPrefix:instagramUrlScheme]) {

        return [self.instagram handleOpenURL:url];
    }

    return NO;

}

这些是您需要实施的Instagram代表。

#pragma - IGSessionDelegate

-(void)igDidLogin 
{  

    NSLog(@"Instagram did login");


    //[[self appDelegate] showAlertWithTitle:@"igDidLogin" message:@""];

    // here i can store accessToken

    [[NSUserDefaults standardUserDefaults] setObject:[self appDelegate].instagram.accessToken forKey:@"accessToken"];
    [[NSUserDefaults standardUserDefaults] synchronize];


    //NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"users/self/followed-by", @"method", nil];

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"users/self", @"method", nil];

    [[self appDelegate].instagram requestWithParams:params
                                       delegate:self];

}

-(void)igDidNotLogin:(BOOL)cancelled 
{    

    NSLog(@"Instagram did not login");

    NSString* message = nil;

    if (cancelled) {
        message = @"Access cancelled!";
    }

    else {
        message = @"Access denied!";
    }

    UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                    message:message
                                                   delegate:nil
                                          cancelButtonTitle:@"Ok"
                                          otherButtonTitles:nil];
    [alertView show];

}

-(void)igDidLogout 
{   

    NSLog(@"Instagram did logout");
    // remove the accessToken
    [[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"accessToken"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

-(void)igSessionInvalidated 
{   

    NSLog(@"Instagram session was invalidated");

}

如果要连接到Instagram,则必须使用这些。

[self appDelegate].instagram.accessToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"accessToken"];
[self appDelegate].instagram.sessionDelegate = self;    

[[self appDelegate].instagram logout];
[[self appDelegate].instagram authorize:[NSArray arrayWithObjects:@"comments", @"likes", nil]];

希望这会有所帮助:

答案 1 :(得分:0)

据我所知,当我们从应用程序重定向到其他应用程序时,我们无法访问其他应用程序详细信息(登录详细信息)。

答案 2 :(得分:0)

只要我也知道,这是不可能的。

我们无法从我们的应用中获取其他应用的详细信息。

您可以通过此Instagram开发人员link获取更多信息。

希望这会对你有所帮助。