这是我第一次使用Instagram API。如果用户已在其设备中使用Instagram应用,我们如何从我们的应用程序中获取用户详细信息?
现在我的应用程序正在重定向到safari并在那里询问Instagram凭据,虽然我的iPhone上有Instagram应用程序,但我登录了。
任何人都可以帮我这个吗?
答案 0 :(得分:1)
我们需要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]];
希望这会有所帮助:
答案 1 :(得分:0)
据我所知,当我们从应用程序重定向到其他应用程序时,我们无法访问其他应用程序详细信息(登录详细信息)。
答案 2 :(得分:0)