将事件配置文件图片发布到页面 JavaScript SDK 时出现问题
Problems posting Event profile pictures to page javascript sdk
好的,所以我正在使用javascript API使用Facebook Graph API。我一直在努力在用户的页面上创建事件,而不是他们的个人资料,我工作得很好。但是,当我尝试上传带有事件的个人资料图片时,事件创建成功,但没有图片。
我已经尝试了许多解决方案,但尚未找到有效的解决方案。
这是我目前拥有的:
function SubmitEvent(descrip, name, start,end, line1, city, state, zip, lat, lon,path)
{
var eventMsg = document.getElementById('event-msg');
var myJsonEvent = {
"name": name,
"description": descrip,
"start_time": start,
"end_time": end,
"location": city + ", " + state,
"venue": {
"street": line1,
"city": city,
"state": state,
"country": "United States",
"latitude": lat,
"longitude": lon
},
"privacy": "OPEN",
"picture":
"http://stage.localruckus.com/Content/Uploads/Thumbnails/Eddie%20Delahunt_card_
84dc116b-f7e5-477b-b0bb-60ecdbe41955.jpg"
};
var select = document.getElementById("facebook-page-select");
var pageId = select.options[select.selectedIndex].value;
var res;
FB.api(pageId, 'post', myJsonEvent, function (result) {
console.log(result);
if (result.id == undefined) {
eventMsg.innerHTML = 'There was a problem creating the event, please
try again. Error: '+result.message;
}
res = result.id;
eventMsg.innerHTML = 'Event posted id: ' + result.id;
eventId = result.id;
postPicture(path);
});
}
function postPicture(path) {
var cookie = eventId;
var token = getCookie('access');
if (cookie != null && cookie != undefined && token != null && token != undefined) {
$.ajax({
type: "POST",
url: "https://graph.facebook.com/" + cookie,
data: {
message: "Event picture",
url:
"http://stage.localruckus.com/Content/Uploads/Thumbnails/Eddie%20Delahunt_card_
84dc116b-f7e5-477b-b0bb-60ecdbe41955.jpg",
access_token: token,
format: "json"
},
success: function (data) {
alert("Picture posted successfully");
}
});
}
}
postPicture 方法或使用事件创建 api 调用提供图像路径似乎都不起作用,尽管我没有收到任何错误或类似的东西。
我花了很多时间在谷歌,SO和Facebook文档上,但还没有找到答案。我在Facebook文档中发现了这个小片段:
图片
读
向/EVENT_ID/picture 发出 HTTP GET 请求会返回指向事件个人资料图片 URL 的 HTTP 302 重定向。
创建/更新
您可以通过向/EVENT_ID/picture 发出 HTTP POST 请求来向事件添加个人资料图片,该请求具有事件管理员的create_event权限和以下参数:
参数描述类型 必需
来源 图片内容 多部分/表单数据 是
如果请求成功,则返回 true。
删除
您可以通过向 发出 HTTP DELETE 请求来删除事件的个人资料图片?具有活动管理员create_event权限的EVENT_ID/图片。
如果请求成功,则返回 true。
但是我还没有找到神秘的"源"参数,或者当数据不是来自表单时,如何创建/发布多部分表单数据。
有人可以帮助我吗?我真的很感激你能给我的任何帮助。
错误:目前有 2 个与此问题相关的错误。
https://developers.facebook.com/bugs/459815400713534
https://developers.facebook.com/bugs/339792622758072
您是否尝试过对图片链接进行 url 编码? 我相信当它从表单发布时,表单会对 url 进行编码。 由于您没有使用表单发布,因此您必须对自己进行编码。
picurl = encodeURIComponent('http://stage.localruckus.com/Content/Uploads/Thumbnails/Eddie%20Delahunt_card_
84dc116b-f7e5-477b-b0bb-60ecdbe41955.jpg');
在这里测试 http://jsfiddle.net/ShawnsSpace/e7E4c/
- 包括用于facebook评论框的JavaScript SDK
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- FB.login访问令牌facebook javascript SDK
- Loopback AngularJS JavaScript SDK - Gruntfile plugin
- 如果设置了cookie,则Facebook登录Javascript SDK自动登录
- 在SoundCloud中,使用JavaScript SDK流式传输曲目是否会增加该曲目的playback_count
- 如何使用Parse.com JavaScript SDK上传图像
- 通过Javascript和PHP SDK保护Facebook登录
- Appmobi Codeigniter and Facebook SDK JavaScript vs PHP
- Google Drive SDK JavaScript:上传ppt(x)并将其转换为演示文稿(Google幻灯片)
- 如何安全地使用aws-sdk-javascript
- 将 Facebook fb:login-button 转换为 SDK JavaScript login
- Titanium SDK:JavaScript->滚动功能不起作用
- 无法获得facebook SDK javascript的许可
- Facebook sdk javascript获取用户数据
- 如何通过aws-sdk (javascript或node)获取s3桶大小
- 使用Node.js ENOTFOUND解析SDK JavaScript
- Internet Explorer中的PHP SDK + Javascript SDK问题
- AWS SDK JavaScript:如何显示AWS. s3 . putobject的上传进度