我已经实现了FacebookSDK,借助它可以通过以下代码获得facebook身份验证和用户信息。
if(!self.accountStore)
self.accountStore = [[ACAccountStore alloc] init];
if(NSClassFromString(@"SLComposeViewController") != nil)
{
ACAccountType *facebookTypeAccount = [self.accountStore
accountTypeWithAccountTypeIdentifier:@"com.apple.facebook"];
NSLog(@"facebookTypeAccount..:%@",facebookTypeAccount);
NSArray *accounts = [self.accountStore accountsWithAccountType:facebookTypeAccount];
if (facebookTypeAccount) {
if ([accounts respondsToSelector:@selector(count)]) {
[self.accountStore requestAccessToAccountsWithType:facebookTypeAccount
options:@{ACFacebookAppIdKey:
@"key", ACFacebookPermissionsKey: @[@"email"]}
completion:^(BOOL granted, NSError
*error) {
if(granted){
NSArray *accounts = [self.accountStore
accountsWithAccountType:facebookTypeAccount];
[self fetchuserinfo];
}
}];
}
-(void)fetchuserinfo
{
NSString *accessToken = [FBSession activeSession].accessToken;
NSString *url=[NSString stringWithFormat:@"https://graph.facebook.com/me"];
NSURL *meurl = [NSURL URLWithString:url];
SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:meurl
parameters:nil];
NSLog(@" setting account %@",_facebookAccount);
merequest.account = _facebookAccount;
[merequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSString *meDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
returnedData = responseData;
NSLog(@" meRequest Respnse %@", meDataString);
if (returnedData!=nil) {
if(NSClassFromString(@"NSJSONSerialization"))
{
NSError *error = nil;
id object = [NSJSONSerialization
JSONObjectWithData:returnedData
options:0
error:&error];
if(error) { }
if([object isKindOfClass:[NSDictionary class]])
{
NSDictionary *results = object;
NSString *categoryString=[[results valueForKeyPath:@"picture.data"] objectForKey:@"url"];
NSString *userid=[results objectForKey:@"id"];
if (userid != nil)
{
self.gotUserDetails = YES;
}
NSString *username=[results objectForKey:@"name"];
NSString *email=[results objectForKey:@"email"];
NSUserDefaults *userId=[NSUserDefaults standardUserDefaults];
[userId setObject:userid forKey:@"userid"];
}
}
}
}
但是要发布提要(https://graph.facebook.com/me/feed/access_token=)从这个登录用户我需要访问令牌。如果有人知道如何在iOS 6.0中获取访问令牌,请帮助我。
感谢所有人。
Facebook SDK 3.2iOS7
您应该导入FacebookSDK/FacebookSDK。H
#import <FacebookSDK/FacebookSDK.h>
....
[self checkFBIDWithToken:[FBSession activeSession].accessTokenData.accessToken];
PS:“checkFBIDWithToken:(NSString*)testoken”是一种方法。
facebook文档:accessToken
//Try This
-(void)fetchuserinfo
{
NSString *accessToken = [FBSession activeSession].accessToken;
NSLog(@"%@",accessToken);
}
or
-(void)fetchuserinfo
{
NSLog(@"%@",FBSession.activeSession.accessToken);
}
苹果公司提供了SLRequest
,您可以使用它,而不用担心获得代币并将代币与您的通话一起传递。指定目标URL和参数,并SLRequest
以透明方式处理响应数据的身份验证、传输和收集。
您可能无法实际获得代币,但您仍然需要获得授权,该授权与您想做的事情列表相关联。您的代码当前仅显示您希望获取电子邮件地址,但您可以添加其他权限:
[accountStore requestAccessToAccountsWithType:facebookAccountType
options:
@{
ACFacebookAppIdKey : ...,
ACFacebookPermissionsKey : @[ @"email", @"read_stream", @"user_groups", @"user_videos" ]),
}
completion:^(BOOL granted, NSError *error) { ...
你需要检查Facebook留档,找出你需要从用户那里请求什么权限,并填写它们为ACFacebookPermissionsKey
。
在我的web应用程序中,我使用Firebase进行身份验证,要访问任何API,我必须从Firebase进行身份验证。 问题:如何在Postman中获取firebase的访问令牌? 我有两种解决此问题的方法: 1) 在postman中从firebase获取访问令牌,并将该访问令牌存储在postman global env中。变量,然后我可以执行其他API请求。(这里我不知道如何在邮递员那里获得访问令
我有一个由 AAD B2C 访问令牌保护的 REST API。我现在想要添加可用于 API 负载测试的 Web 测试。 我跌跌撞撞地从AADB2C为我的测试用户获取了一个有效的访问令牌。我想以某种方式从对AADB2C的REST API调用中获取一个令牌作为响应。 在网上朝这个方向看,我已经找到了许多指向这个没有记录的endpoint的页面 其中我需要提供一些参数。到目前为止,我发现 < li >客
获取访问令牌的文档中的第一步是“将用户引导到我们的授权URL”。那到底是什么意思?没有提供链接或任何东西。它还说“公司名称、联系电子邮件和隐私政策URL是开始提交的必要条件。”我们的应用程序没有隐私政策...只是一个简单的标签提要。我不明白为什么有一个简单的标签提要那么复杂。 是否有一个等待时间来获得批准的应用程序..如果它得到批准...在获得访问令牌之前,我必须获得批准吗?这在任何地方都没有概述
下面是security.xml文件,我正在使用它合并spring-security-oauth2。 我必须在spring-security.xml文件中做哪些更改,以便在JSON中发送查询参数?
我正在尝试通过Twython验证用户的Twitter帐户 我得到了 Twitter API返回401(未经授权)、无效/过期令牌 回溯(最近一次调用): 文件“/Users/bharatagarwal/my-venv/lib/python2.7/site-packages/django/core/handers/base.py”,第149行,get_response-response=self。p