0

PodioのObjC-APIであるPodiokitをより深く掘り下げるための助けを見つけたいと思っています。リンク フィールドの値を URL に設定しようとしています。私の最初の簡単な試みは次のようになりました:

NSDictionary *embedAttributes = [NSDictionary dictionaryWithObject: @"http://www.google.com" forKey: @"url"];            
PKTEmbed *embed = [[PKTEmbed alloc] initWithDictionary: embedAttributes];
item[@"linkfield"] = embed;

PHP を使用した例を見つけましたが、それを Objective-C に変換することはできませんでした。

$attributes = array( 'url' => 'http://www.infranet.com' );
$embed = PodioEmbed::create( $attributes );
$attribute['embed']['embed\_id'] = $embed->embed\_id;
$attribute['file']['file\_id'] = $embed->files[0]->file\_id;
$this->orgItem->field('organizationlink')->set\_value($attribute);

多分誰かがそれを正しくする方法を知っていて、大丈夫でしょう:-)

[編集] PodioKit-Manual には次のように書かれています。

PKTEmbed *link = ...;
item[@"link"] = link;

[編集2]アイテムを保存しようとするとエラーが発生します。ログには次のように記載されています。

Error: Saving file Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: Ungültige Anforderung (400)" UserInfo=0x600000c7ee80 {com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x6000008358e0> { URL: https://api.podio.com/item/app/_xxxx_/ } { status code: 400, headers {
"Content-Length" = 263;
"Content-Type" = "application/json; charset=utf-8";
Date = "Sat, 27 Sep 2014 19:16:22 GMT";
Server = nginx;
"X-Podio-Request-Id" = yqyl6yku;
"X-Rate-Limit-Limit" = 250;
"X-Rate-Limit-Remaining" = 248;
} }, NSLocalizedDescription=Request failed: Ungültige Anforderung (400), NSErrorFailingURLKey=https://api.podio.com/item/app/_xxxx_/}

ありがとう、マイケル/ハンブルグ

4

1 に答える 1

1

こちらのポディオのセバスチャン。最初に PKTEmbed オブジェクト サーバー側を作成し、それを item フィールドの値として使用する必要があります。したがって、次を使用します。

PKTItem *item = ...;
[[PKTEmbed createEmbedForURLString:@"https://www.google.com"] onSuccess:^(PKTEmbed *embed) {
  item[@"link-field"] = embed;
} onError:^(NSError *error) {
  // Handle error
}];

サーバーはembedIDを割り当て、サムネイルを生成します。URL文字列を直接提供する機能を追加することを検討します。これは非常に理にかなっていると思います.

それが役立つことを願っています!

于 2014-10-03T07:00:31.243 に答える