我使用以下代码创建一个新的Facebook相册。它有效 - 但它创建了两次专辑!它只从一个地方调用,不会从其他任何地方调用。
我正在试图弄清楚为什么会发生这种情况。这可能与会议有关吗?在OnCreate()
中单击按钮调用Create New Album代码 mButtonPost.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createNewAlbum(Session.getActiveSession(), "new album for photos");
}
});
这是创建相册的代码:
public void createNewAlbum(Session session, String albumName) {
if (session.isOpened()) {
SessionState state = session.getState();
if (state.isOpened()) { //added this
Bundle params = new Bundle();
params.putString("name", albumName);
Request.Callback callback = new Request.Callback() {
@Override
public void onCompleted(Response response) {
// use response id to upload photo to that album
errText.setText("New Album created response: " + response.toString());
//need to get the newly created album ID.
try
{
JSONObject graphResponse =response.getGraphObject().getInnerJSONObject();
try
{
albID = graphResponse.getString("id");
//UPLOAD photos to that album
UploadToAlbum(Session.getActiveSession(), albID);
}
catch (JSONException e)
{
Log.d( "JSON error "+ e.getMessage(), albID );
albID =null;
}
}
catch (Exception e) {
e.printStackTrace();
albID = null;
}
}
};
Request request = new Request(session, "me/albums",params, HttpMethod.POST,callback);
request.executeAsync();
}//end state session is opened
}//end session if
}
这里有什么明显的吗? 当Activity加载时,我调用" LogInToFacebook()"。 然后单击该按钮并创建相册。 但它创建了两次。创建两个空相册,并且两个都具有相同的ID。如果这里没有什么明显的,那么我也会发布我的登录代码,因为我真的不理解它。
答案 0 :(得分:0)
事实证明这是Facebook的图谱API中的一个重要问题 - 该错误已经分配给团队进行修复,但是谁知道它在修复之前可能有多长时间!