无法获得过去的权限

时间:2012-05-21 10:49:05

标签: iphone ios facebook-graph-api

我遇到的问题是登录后,在safari中按OKAY。

它不能走得更远! Safari无法打开。 https://m.facebook.com/dialog/permissions.request (在.plist中我添加了正确的URL类型(fb [yourappid] host)

facebook = [[Facebook alloc] initWithAppId:@"myappId" 
                           urlSchemeSuffix:@"host" 
                               andDelegate:self];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}


NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"user_likes", 
                        @"read_stream",
                        nil];

if (![facebook isSessionValid]) {
    [facebook authorize:permissions];
    [permissions release];
}

登录后登录屏幕的图片:

http://tinyurl.com/chc5urf

2 个答案:

答案 0 :(得分:0)

阅读此内容并确保以正确的格式编写urlSchemeSuffix

  

urlSchemeSuffix是一个附加的小写字母字符串   到用于SSO的基本URL方案。例如,如果你的   Facebook ID为“350685531728”,您将urlSchemeSuffix设置为
  “abcd”,Facebook应用程序将期望您的应用程序绑定到   以下URL方案:“fb350685531728abcd”。如果,这很有用   您有多个共享一个Facebook的iOS应用程序   应用程序ID(例如,如果您有免费和付费   在同一个应用程序上的版本),你想在两个应用程序中使用SSO。   为两个应用提供不同的urlSchemeSuffix值将允许   Facebook应用程序消除他们的URL方案并始终消除歧义   将用户重定向回正确的应用程序,即使两者都是免费的   并且应用程序安装在device.urlSchemeSuffix上   在Facebook应用程序的3.4.1及更高版本上受支持。如果   用户安装了较旧版本的Facebook应用程序和您的   app使用urlSchemeSuffix参数,SDK将继续进行   Facebook应用程序未安装在设备上并重定向   用户到Safari。

答案 1 :(得分:0)

直接在“信息”标签下的应用目标下检查网址类型部分,并检查如果您有facebookID = 1234,则URLSchemes为fb1234。

根据Xcode版本,它将只是自定义iOS目标属性中的一个字段,或者它将位于底部的不同部分,称为URL类型