我正嘗試使用以下代碼將圖片上傳到Facebook使用Graph API。我不斷收到「不良要求」,但不知道爲什麼。我可以用相同的參數使用curl來上傳照片。我用HttpClient使用Java。使用HttpClient將照片上傳至Facebook
PostMethod filePost = new PostMethod('https://graph.facebook.com/me/photos');
filePost.setParameter('access_token', 'my-access-token')
filePost.setParameter('message', 'test image')
filePost.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE, false);
try {
println("Uploading " + file.getName() + " to 'https://graph.facebook.com/me/photos'");
Part[] parts = [new FilePart('source', file.getName(), file)]
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
HttpClient client = new HttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
int status = client.executeMethod(filePost);
if (status == HttpStatus.SC_OK) {
println(
"Upload complete, response=" + filePost.getResponseBodyAsString()
);
} else {
println(
"Upload failed, response=" + HttpStatus.getStatusText(status)
);
}
} catch (Exception ex) {
println("ERROR: " + ex.getClass().getName() + " " + ex.getMessage());
ex.printStackTrace();
} finally {
filePost.releaseConnection();
}
UPDATE:More to this。我抓住了一些更多的信息,我得到了這個:
{「error」:{「type」:「OAuthException」,「message」:「一個活躍的訪問令牌必須用來查詢有關當前的信息用戶。「}}
但這看起來不正確,因爲我使用Facebook在授權過程後給予我的訪問令牌。
工作捲曲代碼:
curl -F 'access_token=my-access-token' -F '[email protected]/path/to/image.jpg' -F 'message=Some caption' https://graph.facebook.com/me/photos
您可以將您的工作捲曲代碼太Android版本? – 2010-12-17 22:37:20
添加到帖子底部 – Gregg 2010-12-17 22:42:15