1

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

现在我的应用程序正在重定向到 safari 并在那里询问 instagram 凭据,尽管我在我登录的 iPhone 中有 instagram 应用程序。

有人可以帮我吗?

4

3 回答 3

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]];

希望这可以帮助:

于 2014-03-07T13:27:40.143 回答
0

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

于 2013-09-19T10:18:09.470 回答
0

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

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

您可以通过这个 instagram 开发者链接获取更多关于 instagram 的信息。

希望这对您有所帮助。

于 2013-09-19T10:25:34.107 回答