過去にタイムラインにメッセージを投稿しようとしたところ、「Facebook.FacebookOAuthException : (OAuthException - #100) (#100) 公開された投稿にスケジュールされた公開時刻を指定できません」というエラーが表示されました。現在の日付、過去の日付、または将来の日付を入力します。結果は同じです。
UNIXタイムスタンプを取得する方法に問題があると思います。
コードは次のとおりです。
public void PostPostsOnTestUserTimeline()
{
string userId = "[TEST_USER_ID]";
var client = new FacebookClient(accessToken);
dynamic parameters = new ExpandoObject();
parameters.message = "Check out this funny article - 39";
parameters.scheduled_publish_time = GetUnixTimestamp(DateTime.Now.AddMinutes(20));
client.Post(string.Format("{0}/feed", userId), parameters);
}
private long GetUnixTimestamp(DateTime dateTime)
{
double secondsDouble = (dateTime - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds;
return Convert.ToInt64(secondsDouble);
}
なぜクラッシュするのか分かりますか?"created_time": "2013-03-05T12:34:15+0000" に作成されたテスト ユーザーのタイムラインに書いています。schedule_publish_time を指定しなければ、問題なく動作します。
ありがとう、ユリア