我开发了一个需要facebook朋友的电子邮件地址的iphone应用程序 . 假设您的朋友拥有该应用并已授予电子邮件和offline_access权限,那么我相信可以使用:
[facebook requestWithGraphPath:@"FRIEND_ID?fields=id,email" andDelegate:self];
获取他们的电子邮件地址出于测试目的和提交给苹果,如何使用facebook sdk在ios app中创建facebook测试用户? Facebook提供了创建测试用户的能力(http://developers.facebook.com/docs/test_users/),但我无法理解如何使用他们的sdk / graph api在我的ios应用程序中使用本网站上的信息 .
1 回答
好的,我也一直在研究这个,这就是我想出来的 .
根据文档,应该能够通过调用图API来创建测试用户,如下所示:
其中
params
是一个NSMutableDictionary,包含部分或全部参数,详见https://developers.facebook.com/docs/test_users/ .但是,我发现API需要app访问令牌来创建测试用户,SDK文件
Facebook.m
中的方法requestWithGraphPath:andParams:andHttpMethod:andDelegate:
实际上发送了一个用户访问令牌 . 即使您在params
字典中专门设置了应用程序访问令牌,它也会被此方法中的用户访问令牌覆盖 .似乎围绕这种困境有两种方法 . 我们可以使用Facebook SDK并考虑到这一点,绝对不推荐 . 或者我们可以诉诸标准的HTTP请求,并将事情掌握在自己手中 . 以下是我处理第二种方法的方法 .
首先,我们需要app访问令牌,可以通过发出请求来检索:
https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials
.然后我们在下一个请求中使用从此请求返回的app访问令牌:
https://graph.facebook.com/APP_ID/accounts/test-users?installed=true&name=FULL_NAME&permissions=read_stream&method=post&access_token=APP_ACCESS_TOKEN
两个请求的总体格式是相同的 . 以下是整个请求在代码中对于两个请求中的第二个请求的样子 .
希望这将有助于您通过测试用户进行实验 .