我正在开发一个应用程序,它向所选用户发送请求。我是通过FriendPickerFragment(Android.Support.V4.App)选择用户的。我成功获取了我在Picker片段的“完成”按钮上选择的朋友列表。发布,我正在尝试构建一个请求对话框,该对话框不应该显示在我的应用程序中,但应该将FB请求发送给选定的朋友。这是我的代码:
Bundle bundle = new Bundle ();
bundle.PutString ("app_id", AppID);
var dialog = new WebDialog.RequestsDialogBuilder (this.Activity, Session.ActiveSession, bundle).SetMessage(user + " has invited you to join my application");
dialog.Build ();
我面临的问题是,请求实际上并未发送。也没有例外。我甚至实施了回电话:
public void OnComplete(Bundle bundle, FacebookException e)
但执行不会进入回调。我在这里错过了什么?任何帮助将不胜感激。
在构建之前尝试了dialog.SetTo(userId)....仍然没有工作...... 有什么建议吗?
答案 0 :(得分:0)
嗯,根据documentation for RequestDialogBuilder方法public WebDialog build()
,您描述的行为是设计的。引用:
“对话框未显示,但可以通过调用Dialog.show()显示”
听起来您不想显示对话框,只是想在没有任何UI的情况下发送请求。您使用错误的工具来做到这一点。要使用对话框发送请求,您必须显示该对话框,并且用户操作是导致请求发送的原因。这不需要提前授予任何特殊权限,因为只有在用户选择应用程序打开对话框后才会发送请求。
可能有也可能没有办法做你想做的事情(在没有任何用户互动的情况下发送应用程序请求)......如果有办法,它将沿着这些方向:
使用图谱API,获取具有用户授予您的应用的一些权限的令牌。这是一个开始寻找的地方:
https://developers.facebook.com/docs/graph-api/reference/v2.1/user/apprequests/