我使用以下代码.我想要用户的出生日期,电子邮件和性别.请帮忙.如何检索这些数据?
这是我onViewCreated()在片段中的内容.
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// Setup TextView.
mTextDetails = (TextView) view.findViewById(R.id.text_details);
// Set up Login Button.
LoginButton mButtonLogin = (LoginButton) view.findViewById(R.id.login_button);
// setFragment only if you are using it inside a Fragment.
mButtonLogin.setFragment(this);
mButtonLogin.setReadPermissions("user_friends");
mButtonLogin.setReadPermissions("public_profile");
mButtonLogin.setReadPermissions("email");
mButtonLogin.setReadPermissions("user_birthday");
// Register a callback method when Login Button is Clicked.
mButtonLogin.registerCallback(mCallbackManager, mFacebookCallback);
}
Run Code Online (Sandbox Code Playgroud)
这是我的回调方法.
private FacebookCallback<LoginResult> mFacebookCallback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d("Shreks Fragment", "onSuccess");
Profile profile = Profile.getCurrentProfile();
Log.d("Shreks …Run Code Online (Sandbox Code Playgroud) 我想要以下架构(我已经为这个例子编写了产品名称):
在一台服务器 http://api.prettypictures.com 上运行的Web API 2应用程序
MVC 5客户端应用程序在另一台服务器上运行 http://www.webpics.com
我希望www.webpics.com客户端应用程序使用Pretty Pictures API:
所有上述工作除了在Facebook,Google等注册外部账户外.
我无法确定从API的单独客户端用户创建外部帐户的正确流程.
我已经研究了认证流程中可用的大多数文档,如下所示:

我已经在OWIN的新身份模型上阅读了我所能做的一切.
我已经在Visual Studio 2013中检查了SPA模板.它演示了如何完成我需要的大部分工作,但仅限于客户端和API在同一主机上时; 如果我希望多个客户端访问我的API并且能够让用户通过Google等注册,那么它就无法正常工作,而且我可以告诉OWIN身份验证流程中断.
到目前为止流程如下:
这是我被卡住的地方.接下来应该发生的是以某种方式通知客户端应用程序用户已成功通过google.com进行身份验证,并获得一次性访问代码以便稍后交换访问令牌.如有必要,客户端应用程序应该有机会提示用户输入与google.com登录相关联的用户名.
我不知道如何促进这一点.
实际上,此时浏览器在谷歌回调后最终坐在api.prettypictures.com/Account/ExternalLogin端点上.该API已登录Google,但客户端不知道如何处理该问题.我应该将该饼干送回www.webpics.com吗?
在SPA应用程序中,它通过AJAX完成,google.com将返回一个令牌作为URL片段,它一切运行良好,因为它都在一个域上.但这远远超过了拥有多个客户可以充分利用的"API"的重要性.
救命!
asp.net-mvc oauth-2.0 owin asp.net-identity asp.net-web-api2
根据这篇文章http://www.asp.net/web-api/overview/security/external-authentication-services ...我能够使用本地身份验证服务登录(使用新的Asp.net身份框架)
但无法找到一个walktrough来正确调用(从移动应用程序或邮递员)Visual Studio 2013 SPA模板中生成的默认Web api.
谁能帮我?
TL; TR:如何使用facebook SDK 4.4获取在我的应用程序上登录的用户的电子邮件和名称
到目前为止,我已经设法登录工作,现在我可以从应用程序的任何位置获取当前访问令牌.
我如何配置登录视图控制器和Facebook登录按钮:
class LoginViewController: UIViewController, FBSDKLoginButtonDelegate {
@IBOutlet weak var loginButton: FBSDKLoginButton!
override func viewDidLoad() {
super.viewDidLoad()
if(FBSDKAccessToken.currentAccessToken() == nil)
{
print("not logged in")
}
else{
print("logged in already")
}
loginButton.readPermissions = ["public_profile","email"]
loginButton.delegate = self
}
//MARK -FB login
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
//logged in
if(error == nil)
{
print("login complete")
print(result.grantedPermissions)
}
else{
print(error.localizedDescription)
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
//logout
print("logout")
}
Run Code Online (Sandbox Code Playgroud)
现在在我的主视图中,我可以获得访问令牌,如下所示:
let accessToken = FBSDKAccessToken.currentAccessToken()
if(accessToken …Run Code Online (Sandbox Code Playgroud)