我正在将应用程序与facebook集成。我正在获取用户信息和publish_stream权限。用户登录后,用户可以直接从UIWebView
搜索其他用户。当有accessToken时我能够这样做。使用此我将其他用户的个人资料显示为当前用户。
storing in variable when user logs in for future purpose.
url =[NSString stringWithFormat:@"https://facebook.com/search/results.php?q=SEARCH_USER&type=user&access_token=%@",self.selectedMatch.realName,facebookAccessToken];
但是,现在不推荐使用访问令牌时accessTokenData
。
但我无法将其显示为当前用户,它直接将用户带到Facebook登录页面。任何人都知道如何使用最新的Facebook SDK?
我试过这个,但它显示了facebook登录界面。
url =[NSString stringWithFormat:@"https://facebook.com/search/results.php?q=NAME&type=user&access_token=ACCESS_TOKEN"];
答案 0 :(得分:1)
accessTokenData的类型为FBAccessTokenData,并且具有属性accessToken,该属性是NSString。只是在你之前使用访问令牌时使用它,它应该可以工作我想:
url =[NSString stringWithFormat:@"https://facebook.com/search/results.php?q=NAME&type=user&access_token=%@", accessTokenData.accessToken];
以下是有关该主题的更多信息:Facebook: Making API Calls to Publish with an App Access Token
答案 1 :(得分:1)
您现在必须登录Facebook以请求有关帐户的私人信息,这已被更改,以便您的应用无法在未经用户许可的情况下获取用户信息。所以你有一个主要用户
[FBSession activeSession]
并向该主要用户询问信息。比如他们的朋友名单:
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary* result, NSError *error) {
}];
此代码默认使用与此示例中的会话对象相关联的令牌数据
[[FBSession activeSession] accessTokenData]
使用图形api访问任何随机人的Facebook以查看公共数据,你可以通过下面的代码使用Mark Zuckerberg的facebook作为示例的facebook的创始人来做到这一点 https://www.facebook.com/pages/Mark-Zuckerberg/112845672063384
FBRequestConnection *newConnection = [[FBRequestConnection alloc] init];
FBRequest *request = [[FBRequest alloc] initWithSession:FBSession.activeSession
graphPath:@"112845672063384"];
[newConnection addRequest:request completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSDictionary* facebookUserPublicInfo = (NSSDictionary*)result;
}];
[newConnection start]
我想我从来没有真正必须在方法中使用访问令牌数据,它总是被认为是activeSession的数据,但是如果你做访问令牌数据是访问令牌,他们只是重命名它,它可能携带其他元数据
答案 2 :(得分:1)
Facebook的运作方式已经改变。您在这里拥有所需的一切:https://developers.facebook.com/ios/。
您想要的部分可能是这一部分:https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/show-friends/。
答案 3 :(得分:0)
我已经完成了将Web视图指定为默认行为。
[[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:
^(FBSession *session,FBSessionState state,NSError *error)
{
if(state == FBSessionStateOpen)
{
// code when login is successful.
}
}];
如果您使用webview进行用户登录,则可以显示任何特定的登录用户。