2015-07-09 96 views
0

是否可以使用GraphApi替换现有的FB照片?我正在使用以下代码片段来尝试替换该照片:如何使用GraphApi替换Facebook照片

GraphRequest fbUpload = new GraphRequest(); 
    Bundle fbUploadParams = new Bundle(); 
    fbUploadParams.putByteArray("source", imageData); 
    fbUpload.setAccessToken(AccessToken.getCurrentAccessToken()); 
    fbUpload.setHttpMethod(HttpMethod.POST); 
    if (photoUploadRecord.photoId != null) { 
     fbUpload.setGraphPath(photoUploadRecord.photoId); 
    } else { 
     fbUpload.setGraphPath(photoUploadRecord.albumId + "/" + FloomitFb.FB_PHOTO_EDGE); 
    } 
    fbUpload.setParameters(fbUploadParams); 
    GraphResponse response = fbUpload.executeAndWait(); 
    FacebookRequestError requestError = response.getError(); 

没有返回错误,但照片未更新。代码查看photoId,如果不为null,则将其用作GraphPath,这是GraphApi的文档中描述的用于更新照片的内容,但不清楚照片更新是否仅仅是指更新与之关联的各种字段照片(评论/标签/喜欢/等...)或图像本身。此代码成功上传新照片(这是photoId == null的情况)。

回答

1

您可以更改元数据,但不能更改实际照片本身。如the documentation中所述,source字段只能用于阅读。