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を/ me/eventsではなく/UserID/eventsに変更してみました。Facebookは戻ってきます:
({
"data": [
]
});
URLから「イベント」を削除すると、期待どおりにユーザー情報にアクセスします。私がやろうとしていることが実際に可能かどうか誰かが知っていますか?明らかな何かが欠けているような気がします。