这是我第一次使用 Instagram API。如果用户已经在他的设备中安装了 Instagram 应用程序,我们如何从我们的应用程序中获取他的用户详细信息?
现在我的应用程序正在重定向到 safari 并在那里询问 instagram 凭据,尽管我在我登录的 iPhone 中有 instagram 应用程序。
有人可以帮我吗?
这是我第一次使用 Instagram API。如果用户已经在他的设备中安装了 Instagram 应用程序,我们如何从我们的应用程序中获取他的用户详细信息?
现在我的应用程序正在重定向到 safari 并在那里询问 instagram 凭据,尽管我在我登录的 iPhone 中有 instagram 应用程序。
有人可以帮我吗?
我们需要Instagram.h
和Instagram.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]];
希望这可以帮助:
据我所知,当我们从我们的应用程序重定向到其他应用程序时,我们无法访问其他应用程序的详细信息(登录详细信息)。