0

我们使用 createPinWithImageonBaord:description:progress:withSuccess:andFailure 方法在特定 Board 中创建一个 pin:

我们阅读了文档(此处:https ://developers.pinterest.com/docs/api/overview/和此处:https ://github.com/pinterest/ios-pdk/blob/master/Pod/Classes/PDKClient .h#L417 ) 表示此方法应返回一个 PDKResponseObject *responseObject,其中包含 ID、URL、点击 URL 和创建的 Pin 图的描述。

我们有足够的创意尝试使用任何可能的键(@"id"、@"identifier"、@"url"、@"NSUrl")来访问 Pin 的 ID 及其 URL,但返回的值始终为 nil。事实上,PDKResponseObject 只返回 2 个键:Board ID 和 Pin Description。我们应该怎么做才能访问 ID,或者至少是新创建的 Pin 的 URL?

有人有同样的问题吗?

4

1 回答 1

0

尽管进行了多次尝试,并且在尝试与 Pinterest 开发团队讨论这个问题之后,这个问题仍然存在。考虑到 Pinterest 对未经批准的应用程序(包括根据定义正在开发的所有应用程序)施加的新限制,测试解决方案也变得极其困难。

目前,我只能通过调用新请求来获取特定板上的所有引脚并获取结果数组中的第一个(这是最后发布的)中的第一个找到解决方法:

        //Create pin in Pinterest
        [[PDKClient sharedInstance]createPinWithImage:image link:urlToShare 
        onBoard:reference description:message progress:nil 
        withSuccess:^(PDKResponseObject *responseObjectCreation) {

            //Previous block does not return pin id so a new call is required
            [[PDKClient sharedInstance]getBoardPins:reference fields:[NSSet 
            setWithArray:@[@"link"]] withSuccess:^(PDKResponseObject 
            *responseObject) {

                //Get id of last pin
                NSArray *pinIDs = [[NSArray arrayWithArray:[responseObject 
                pins]]valueForKey:@"identifier"];

                NSString *postId = [pinIDs objectAtIndex:0];
            }];
        }];

顺便说一句,pin ID 的正确键是“标识符”,而不是 API 文档中所说的“id”或“ID”。通过多次尝试并检查 GitHub 中的 Pinterest 示例应用程序才发现。

希望这可以帮助其他正在解决同样问题的人。

于 2018-05-11T14:42:37.953 回答