0
我正在寻找通过图形api上传照片到Facebook的最佳方式,而无需任何服务器端流程。 到目前为止我所做的实现是使用javascript(jQuery)和HTML表单提交。代码如下:如何通过图形API将照片提交给Facebook后获取照片ID?
<form action="" method="POST" enctype="multipart/form-data" target="result">
Please choose a photo: <input name="source" type="file"><br/>
Say something about this photo: <input name="message" type="text" value=""><br/>
<a id="upload-button" href="javascript:;">Upload</a>
</form>
<iframe id="result" src="" name="result" frameborder="1"
style="height:75px;" onload="finish_upload(this);"></iframe>
<script>
function finish_upload(iframe){
//An exception thrown. iframe.contentWindow.document is undefined.
var content = iframe.contentWindow.document.body.innerHTML;
console.log(content);
}
$(function(){
$('#upload-button').click(function(){
var access_token = getToken();
var url = "https://graph.facebook.com/me/photos?access_token=" + access_token;
$('form').attr('action', url).submit();
});
});
</script>
上传按钮被击中后。该照片已成功上传,我可以看到在结果iframe中出现了照片ID。
{
"id": "123456789"
}
看来,由于结果iframe的内容来自不同的域(graph.facebook.com)。出于某些安全原因,我无法通过javascript获取照片ID。
问题是这样的。
在这种情况下,有什么方法可以获取iframe内容?或者,有没有其他方式我错过了,可以更直接地从facebook图表API调用响应?
谢谢。