Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Facebook中使用具有类型Profile的自定义属性的Open Graph发布故事仅适用于用户名ID而非ID_Ios_Facebook_Facebook Opengraph - Fatal编程技术网

Ios 在Facebook中使用具有类型Profile的自定义属性的Open Graph发布故事仅适用于用户名ID而非ID

Ios 在Facebook中使用具有类型Profile的自定义属性的Open Graph发布故事仅适用于用户名ID而非ID,ios,facebook,facebook-opengraph,Ios,Facebook,Facebook Opengraph,我正在使用iOS facebook API发布一个故事 故事共享手镯包含两个对象,一个是正在共享的手镯,另一个是正在接收手镯的接收器配置文件类型 发布时一切正常,没有收到错误,当我使用Graph API Explorer检查对象或操作时,我看到填充的属性 问题是:当使用Facebook NameID发布时,故事只显示type Profile的属性,而当使用用户的ID时,它不会显示 这是我对故事附件的定义: 这是我发布动作的代码:对象是先前发布的 [FBRequestConnection star

我正在使用iOS facebook API发布一个故事

故事共享手镯包含两个对象,一个是正在共享的手镯,另一个是正在接收手镯的接收器配置文件类型

发布时一切正常,没有收到错误,当我使用Graph API Explorer检查对象或操作时,我看到填充的属性

问题是:当使用Facebook NameID发布时,故事只显示type Profile的属性,而当使用用户的ID时,它不会显示

这是我对故事附件的定义:

这是我发布动作的代码:对象是先前发布的

[FBRequestConnection startForPostWithGraphPath:@"me/objects/com_movetoshare:bracelet" graphObject:(NSDictionary <FBOpenGraphObject> *)@{@"object":shareDict} completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
    if(!error) {
        // get the object ID for the Open Graph object that is now stored in the Object API
        NSString *objectId = [result objectForKey:@"id"];
        DLog(@"FB : PostShare : object id: %@", objectId);

        //here we have an Object. Must create an Action with that object linked
        // create an Open Graph action
        NSMutableDictionary<FBOpenGraphAction> *action = (NSMutableDictionary<FBOpenGraphAction>*)[FBGraphObject graphObject];
        action[@"fb:explicitly_shared"] = @"true";
        action[@"message"] = status;
        action[@"bracelet"] = objectId;
        action[@"receiver"] = fbReceiverID;
        // create action referencing user owned object
        [FBRequestConnection startForPostWithGraphPath:@"me/com_movetoshare:share" graphObject:action completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
            if(!error) {
                DLog(@"FB : PostShare : Action id: %@", [result objectForKey:@"id"]);
            } else {
                // An error occurred
                DLog(@"FB : PostShare : ERROR posting Action to Open Graph: %@", error);
            }
        }];

    } else {
        // An error occurred
        DLog(@"FB : PostShare : ERROR posting the Open Graph object to the Object API: %@", error);
    }
}];
当变量fbReceiver ID包含例如@facesmo.depruebas my test user时,它会工作并显示以下内容:

但是当变量fbReceiver包含用户ID@100002871792152时,它会发布Ok,但概要文件数据不会显示在故事中。它表明:

该操作将属性receiver定义为required,因此我可以推断数据是正确的

有人知道为什么在使用ID而不是NameID时它不显示吗