我正在构建一个Facebook应用程序,其中包含发送给朋友的功能。
为每个用户提供一个特定的用户密钥,用于识别他们并单独识别他们。
所以A人邀请B人。
因此,当B人获得邀请时,当他们点击ACCEPT时,我们会在URL中传递referrer用户密钥... 例如http://mydomain.com.au/return_user.aspx?referrerkey=iuahsduiahsdfuiha
因此,当B人已经安装了fb应用程序时,referrerkey变量会传回我们的网站,因此我们可以管理那里的2个用户之间的链接。
但是,如果B人没有添加该应用程序。并且人员B点击用户必须通过“允许访问”页面的邀请页面上的“接受”按钮,从那里,他们被引导回APP主页,没有我需要的任何变量。例如。引用密钥。
那么我怎样才能让已经添加了应用并且没有添加应用的用户使用它?
答案 0 :(得分:4)
是的,请求2.0流程总是将用户放回到画布主页上 - 没有避免这种情况。
但是,在创建请求时,可以将“data”参数添加到请求对象中,并将所需的任何数据放入其中。然后,在画布的主页上,查询signed_request中的数据。设置变量,如user_id或某些应用程序特定变量,游戏#或其他东西。如果它存在,则重定向到更适用的页面或路线。
您可以识别应用程序的条目 - 通过其他非请求重定向到我们的画布主页区分它 - 因为在signed_request中会出现request_ids。
注意,您也可以获取请求ID,并从Facebook获取对象,该对象将具有“from”引用者。所以你不需要传递它。
答案 1 :(得分:2)
假设您正在使用PHP facebook SDK和画布应用程序,您可能正在使用require_login()将用户重定向到auth屏幕。默认情况下,身份验证屏幕会将用户返回到您在应用设置中设置的画布URL。
要解决此问题,请使用urlencoded URL作为值传递名为“next”的GET参数。如果您很幸运,您的facebook SDK版本可能已预设此代码但未激活。在Facebook课程中寻找'& next ='。
答案 2 :(得分:1)
我所知道的唯一选择是添加应用程序并与朋友链接两个独立的进程。