当用户安装应用程序时,页面会在没有初始 GET 参数的情况下被重定向。
例如:
- 用户使用链接打开应用程序:http://apps.facebook.com/[app]/?request_ids=123&fb_source=wall
- 此应用未安装,因此 Facebook 重定向到页面:https://www.facebook.com/dialog/oauth?client_id=[app]redirect_uri=http://apps.facebook.com/[app]/?scope =user_about_me,email&response_type=code
- 用户确认必要的权限后,他被重定向到页面:https://apps.facebook.com/[app]/?code=[authorization code]
在最终 url 中缺少初始 GET 参数,因此我无法检测到用户从哪个 URL 访问我的应用程序。
我使用以下 C# 代码生成登录 url:
dynamic parameters = new ExpandoObject();
parameters.client_id = _configuration.AppId;
parameters.redirect_uri = _configuration.CanvasUrl;
parameters.scope = String.Join(",", accessScope);
parameters.response_type = "code";
return _facebookClient.GetLoginUrl(parameters);
我不能在 parameters.redirect_uri 值中使用 GET 参数(Facebook 错误 - URL 不正确)。
请建议我如何使用初始 GET 参数。