【发布时间】:2015-01-03 03:19:54
【问题描述】:
- 我已经列出了 facebook 好友并发送了应用邀请(来自 facebook 发送请求对话框)! 我的问题是我可以在不使用 facebook 发送请求对话框的情况下发送请求吗?如果可以,如何? 如果我不向(WebRequestDialog).setTo(“用逗号分隔的朋友的ID”)提供ID,我的代码如下,那么我无法发送请求,但如果我提供朋友的ID,则Facebook本机对话框发送请求打开并成功发送请求。
facebookFriendsDetail 是我从可标记朋友 api 获得的可标记朋友列表。
Bundle params = new Bundle();
StringBuilder sb = new StringBuilder();
int USE_FRIEND_SIZE;
if(facebookFriendsDetail.size()>49)
{
USE_FRIEND_SIZE=49;
}else
{
USE_FRIEND_SIZE=facebookFriendsDetail.size();
}
for (int i = 0; i < USE_FRIEND_SIZE; i++) {
if (i == 0) {
sb.append(facebookFriendsDetail.get(i).getId().toString());
} else {
sb.append(","
+ facebookFriendsDetail.get(i).getId().toString());
}
}
// params.putString("to", sb.toString());
params.putString("message",
"Join CConnect To feel Better Experience Of Meetings And Calls");
WebDialog requestsDialog = (new WebDialog.RequestsDialogBuilder(
getActivity(), Session.getActiveSession(), params))
.setTheme(
android.R.style.Theme_Translucent_NoTitleBar_Fullscreen).setTo(sb.toString())
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
if (error != null) {
if (error instanceof FacebookOperationCanceledException) {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Network Error", Toast.LENGTH_SHORT)
.show();
}
} else {
final String requestId = values
.getString("request");
if (requestId != null) {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request sent", Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(
getActivity()
.getApplicationContext(),
"Request cancelled",
Toast.LENGTH_SHORT).show();
}
}
}
}).build();
requestsDialog.show();
2.我的应用程序不是游戏应用程序,我强行添加了一个画布框架,之后我能够发送应用程序请求,现在我的问题是重定向如何在这里工作,我想如果有人在 facebook 中打开此请求通知如果安装了移动应用程序,它会将其重定向到我的应用程序,如果没有将其重定向到 Playstore 链接。
对于网络应用,我希望它重定向到我在 facebook 中创建的应用页面。
【问题讨论】:
标签: android facebook facebook-graph-api