[英]facebook sdk 3.0 getting friends scores return empty (android)
我試圖使用Facebook的得分API。
所以我發布這樣的分數:
public void postScore(int score) {
Bundle fbParams = new Bundle();
fbParams.putString("score", "" + score);
Request postScoreRequest = new Request(Session.getActiveSession(),
"me/scores", fbParams, HttpMethod.POST, new Request.Callback() {
@Override
public void onCompleted(Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
Log.e("posting score",
"Posting Score to Facebook failed: "
+ error.getErrorMessage());
} else {
Log.i("posting score",
"Score posted successfully to Facebook");
}
}
});
Request.executeBatchAsync(postScoreRequest);
}
成功!
並即時獲得用戶評分,如下所示:
public static void getScore() {
Request postScoreRequest = new Request(Session.getActiveSession(),
"me/scores", null, HttpMethod.GET, new Request.Callback() {
@Override
public void onCompleted(Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
Log.d("getting score",
"Getting Score from Facebook failed: "
+ error.getErrorMessage());
Scores.isMyScoreLoaded = false;
} else {
Log.d("getting score",
"Got Score successfully from Facebook");
Log.d("score object", response.getGraphObject()
.getInnerJSONObject().toString());
Scores.isMyScoreLoaded = true;
}
}
});
Request.executeBatchAsync(postScoreRequest);
}
成功!!!
但是當我試圖獲得所有朋友的分數時,像這樣:
public static void getFriendsScores() {
Request postScoreRequest = new Request(Session.getActiveSession(), "/"
+ R.string.app_id + "/scores", null, HttpMethod.GET,
new Request.Callback() {
@Override
public void onCompleted(Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
Log.d("getting all scores",
"Getting Scores from Facebook failed: "
+ error.getErrorMessage());
Scores.isFriendsScoresLoaded = false;
} else {
Log.d("getting all scores",
"Got Scores successfully from Facebook");
Log.d("score object", response.getGraphObject()
.getInnerJSONObject().toString());
Scores.isFriendsScoresLoaded = true;
}
}
});
Request.executeBatchAsync(postScoreRequest);
}
* 它工作! (無錯誤)但返回空傑森:( *
感謝您的幫助!!!!
亞基爾
你好親近
您不需要第一個正斜杠,並且您傳遞的是resourceID而不是實際的App IP。 因此更新后的代碼將如下所示。
public static void getFriendsScores() {
Request postScoreRequest = new Request(Session.getActiveSession(),
getResources().getString(R.string.app_id) +"/scores", null, HttpMethod.GET,
new Request.Callback() {
@Override
public void onCompleted(Response response) {
FacebookRequestError error = response.getError();
if (error != null) {
Log.d("getting all scores",
"Getting Scores from Facebook failed: "
+ error.getErrorMessage());
Scores.isFriendsScoresLoaded = false;
} else {
Log.d("getting all scores",
"Got Scores successfully from Facebook");
Log.d("score object", response.getGraphObject()
.getInnerJSONObject().toString());
Scores.isFriendsScoresLoaded = true;
}
}
});
Request.executeBatchAsync(postScoreRequest);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.