我已经按照教程使用Facebook SDK for iOS发布自定义Open Graph故事:https://developers.facebook.com/docs/ios/open-graph/
我还在这里阅读了有关灵活句子结构的文档:https://developers.facebook.com/docs/opengraph/creating-custom-stories/#variations
我的问题是,我在代码中如何以及在何处指定使用哪种特定的句子结构?我想张贴“John Doe煮牛排”而不是“John Doe煮了一顿饭”。我想使用一对一句子结构而不是一对一无对象标题结构。
// Create an object
id<FBGraphObject> object =
[FBGraphObject openGraphObjectForPostWithType:@"myapp:meal"
title:@"Steak"
image:@"http://i.imgur.com/g3Qc1HN.png"
url:@"https://example.com/link/"
description:@"Juicy and medium-rare"];
// Create an action
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
// Link the object to the action
[action setObject:object forKey:@"meal"];
// Check if the Facebook app is installed and we can present the share dialog
FBOpenGraphActionShareDialogParams *params = [[FBOpenGraphActionShareDialogParams alloc] init];
params.action = action;
params.actionType = @"myapp:cook";
// If the Facebook app is installed and we can present the share dialog
if([FBDialogs canPresentShareDialogWithOpenGraphActionParams:params])
{
// Show the share dialog
[FBDialogs presentShareDialogWithOpenGraphAction:action
actionType:@"myapp:cook"
previewPropertyName:@"recipe"
handler:
^(FBAppCall *call, NSDictionary *results, NSError *error)
{
if(error) {
// There was an error
NSLog(@"Error publishing story: %@", error.description);
} else {
// Success
NSLog(@"result %@", results);
}
}];
}
答案 0 :(得分:1)
我试图弄明白这一点,这就是我到目前为止理解的原因:
如果您想使用现在时,您必须设置&#34; end_time&#34;属性如下:
[action setEnd_time:@&#34; 2014-03-08T23:23:23&#34;]; //未来的日期
这将在用户的时间轴上显示,例如&#34;用户名正在吃披萨&#34;并且这将继续显示,直到end_time指定的日期到来。 我认为我目前遇到的时区可能存在问题,因此如果您需要处理不同的时区,请务必小心。
根据文件,&#34; expires_in&#34;属性是&#34; end_time&#34;的快捷方式。但是不是使用datime对象,你可以使用秒三角形,类似于&#34;这是现在时态,直到它已经发布了500秒,但是我还没有能够完成这项工作(帖子总是显示为过去时)
[action setExpires_time:@&#34; 500&#34;];
所有其他灵活的句子结构都由Facebook管理,您无法控制何时展示它们。例如,如果您的应用的两个用户共享其中的内容,它将在朋友的时间轴上显示类似于&#34; user1和user2正在吃披萨&#34;。
如果您发现其他内容,请更新您的帖子