5

Open Graph 액션을 게시하기 위해 Facebook iOS SDK 3.5를 사용하려고합니다. 내 작업 : take a photophoto은 이라는 추가 속성이 필요합니다 (filter). 내가 객체를 게시하려고Facebook에서 사용자 정의 Open Graph 속성을 허용하지 않습니다.

object[@"tonerapp:filter"] = filterName;

및 I :

NSMutableDictionary<FBOpenGraphObject> *object = 
[FBGraphObject openGraphObjectForPostWithType:@"tonerapp:photo" 
               title:@"photo" 
               image:imageData 
                url:nil 
              description:title]; 

가 그럼 난 내 필터를 추가 :

내 그래프 개체를 (모든 값이 유효하고 작업이다)을 생성하고 내 필터 속성이 있는지 확인할 수 있습니다 (요청 데이터를 표시하기위한 URL 요청의 FBSetting 로깅 동작 사용).

Body (w/o attachments): 
object: {"description":"","type":"tonerapp:photo", 
"tonerapp:filter":"classic","data":{}, 
"fbsdk:create_object":true, 
"image":{"url":"fbstaging:\/\/graph.facebook.com\/staging_resources\/MDExMDE1MjkzNzU1Njc3MDE0MjoxNTM4NzgwNjUy","user_generated":"true"}, 
"title":"photo"} 

나는 거기에 내 필터 속성을 볼 수 있지만 응답은 이것이다 : 그것은 거기에,

error = { 
     code = 100; 
     message = "(#100) Object Missing a Required Value: 
Object at URL '' of type 'tonerapp:photo' is invalid because 
a required property 'tonerapp:filter' of type 'string' was not provided."; 
     type = OAuthException; 
    }; 

음. 나는 다음과 같은 가능한 모든 조합을 시도 : 데이터가

object[@"data"] = @{@"filter": filterName}; // 데이터로 포장하고 제거하는 네임 스페이스

object[@"toner:filter"] = filterName; // 응용 프로그램 이름 대신 네임 스페이스 이름 개체에

object[@"data"] = @{@"tonerapp:filter": filterName};은 // 포장을

object[@"filter"] = filterName; // 이름 공간 이름이 전혀 없음

[object setObject:filterName forKey:@"tonerapp:filter"]; // setobject 표기

[object setValue:filterName forKey:@"tonerapp:filter"]; // setValue의 표기

[object setObject:filterName forKey:@"filter"]; //의 setObject와 네임 스페이스없이 ...

가능성이 더. 모든 것을 시도했지만 API는 항상 동일한 오류로 실패합니다. Facebook의 내 앱으로 이동하여 filter을 대신 optional으로 설정하면 개체의 나머지 부분이 올바른지 확인할 수 있습니다. 성공적으로 게시됩니다. 그래프 API가있는 버그/불충분 한 문서입니까, 아니면 눈이 멀었습니까? 여기서 명백한 것을 볼 수 없습니까?

감사합니다. 수 있습니다.

+0

당신은이 문제를 해결 했습니까? (나는 비슷한 문제를 스스로 고쳤다 : http://stackoverflow.com/q/20376634/824515) – Magnus

+0

내가 기억하는 것에서 (잠시 있었고 그때 내 자신의 질문에 답하는 것을 잊었다) URL 속성에 관해서. 오류 설명은 오도 된 것입니다.나는'[FBGraphObject openGraphObjectForPostWithType : @ "tonerapp : photo" 제목 : 제목을 이미지 : imageData url : @ "http://tonerapp.info"설명 : desc];'사용했습니다. 게시 할 때 URL을 입력하십시오. –

+0

@Magnus 그것이 문제를 해결할 수 있도록 말해 주시면 답변을 추가 할 수 있습니다. 아마도 여기에 직접 답변을 추가 할 수 있습니다. –

답변

0

filterName이 URL 인코딩되어 있는지 확인하십시오. 나는 그래프상의 커스텀 액션 인 영화의 이름과 같은 종류의 이슈를 가졌다. 간단한 문자열 만 수동 값으로 게시하고 알려 주시기 바랍니다.

4

그냥 "데이터"에 넣어

object[@"data"][@"youcustomproperty"] = @"smth";