有没有办法使用 JQuery 函数以编程方式为用户 Facebook 页面创建事件?我创建了一个应用程序,通过以下方式向用户询问 create_event 权限:
<input type="button" value="Add to Facebook" onclick="document.location='http://www.facebook.com/dialog/oauth?client_id=<AppID>&redirect_uri=<redirecturi>&scope=create_event,offline_access,manage_pages&response_type=token'">
它使用参数 access_token 和 expires_in 正确返回重定向页面。该页面使用以下代码来解析数据(不太优雅,但我只是想让它作为测试工作)
<script>
$(document).ready(function(){
var url = window.location.href;
var fbParameters = url.substring(url.indexOf('#')+1,url.length);
var accesstoken;
if(fbParameters.indexOf("access_token=")>=0){
accesstoken = fbParameters.substring(fbParameters.indexOf("access_token=")+("access_token=").length,fbParameters.length);
accesstoken=accesstoken.substring(0,accesstoken.indexOf('&'));
console.log(accesstoken);
}
var params = {'access_token':accesstoken,'name':'test','location':'someplace','start_time':'1322719200'}
$.getJSON('https://graph.facebook.com/me/events?callback=?',params,function(data){console.log(data)});
});
</script>
我还尝试使用 JQuery $.post 并手动输入 URL 以尝试创建此测试事件。这将返回:
XMLHttpRequest cannot load https://graph.facebook.com/me/events?. Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin.
我还尝试将 URL 修改为 /User ID/events 而不是 /me/events。Facebook 不断返回:
({
"data": [
]
});
如果我从 URL 中删除“事件”,它会按预期访问用户信息。有谁知道我正在尝试做的事情是否真的可能?我觉得我错过了一些明显的东西。