使用javascript和graph api将照片发布到facebook页面
我正在使用Facebook JavaScript sdk将照片发布到一些粉丝页面。以下是我的代码使用javascript和graph api将照片发布到facebook页面,javascript,html,facebook,facebook-graph-api,Javascript,Html,Facebook,Facebook Graph Api,我正在使用Facebook JavaScript sdk将照片发布到一些粉丝页面。以下是我的代码 <form enctype="multipart/form-data" method="post" action="https://graph.facebook.com/<page_id>/feed" target="ifram_name"> <input name="source" type="file" style="font-size:13px;"
<form enctype="multipart/form-data" method="post" action="https://graph.facebook.com/<page_id>/feed" target="ifram_name">
<input name="source" type="file" style="font-size:13px;" />
<input type="hidden" name="to" value="113342002047830"/>
<input type="hidden" name="access_token" value="user_accesstoken"/>
<input type="hidden" name="type" value="photo" />
</form>
上面写着“缺少邮件或附件”
我也试过把“行动”改为“行动”https://graph.facebook.com//feed"
但照片会被上传到用户的相册中
有人能说出我的代码中缺少了什么吗?你应该使用或的
照片连接(而不是提要
),并为用户/页面提供活动的访问令牌
<form action="https://graph.facebook.com/PAGE_ID/photos"
method="post" enctype="multipart/form-data">
<input name="source" type="file">
<input type="hidden" name="to" value="113342002047830"/>
<input type="hidden" name="access_token" value="user_accesstoken"/>
</form>
如果不需要,请使用服务器端技术上载照片。另一个选项是将JS-SDK与url
参数一起使用:
FB.api('/PAGE_ID/photos', 'post', {
url: 'http://example.com/image.png',
message: 'Upload demo'
}, function(response){
if (response && response.id)
console.log('Photo uploaded', response.id);
});
更新:
请注意,您应该使用页面的access\u令牌
才能张贴到页面的墙上,如果您为用户提供access\u令牌
,则照片将上载到用户的应用程序相册,而不考虑to
参数。有关如何获取页面的访问令牌的详细信息,请参见。这是您的答案。我想将照片发布在某个粉丝页面的墙上,而不是我自己的相册中。我需要将照片上载到“页面”,而不是我或其他人的“个人资料”中。@MohdQasim,这与我发布的内容没有任何不同。。。实际上,我为用户提供的代码示例是相同的,页面只需将PAGE\u ID
替换为所需的页面/user idI已经提到“/PAGE\u ID/photos”会将照片放在用户相册上而不是页面的墙上(我不知道为什么)@MohdQasim,因为您使用的是用户的访问令牌,不是用于页面的。有关如何获取照片的更多详细信息,请参阅。我不是该页面的管理员。我只是想模仿facbook照片发布行为。当我们将照片发布到facebook时,它们不会添加到相册中,只是显示为墙贴
FB.api('/PAGE_ID/photos', 'post', {
url: 'http://example.com/image.png',
message: 'Upload demo'
}, function(response){
if (response && response.id)
console.log('Photo uploaded', response.id);
});