2012-04-20 12 views
8

Próbuję użyć kodu this, a these instructions do bezpośrednich wiadomości. Zamieszczając normalne tweet działa perfekcyjnie, ale gdy próbuję wysłać wiadomość bezpośrednią dostaję 406.Jak wysłać wiadomość bezpośrednią za pomocą systemu iOS 5 Twitter Framework?

Jest to pełny kod:

ACAccountStore *account = [[ACAccountStore alloc] init]; 
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter]; 

// Request access from the user to access their Twitter account 
[account requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) { 
    // Did user allow us access? 
    if (granted == YES) 
    { 
     // Populate array with all available Twitter accounts 
     NSArray *arrayOfAccounts = [account accountsWithAccountType:accountType]; 

     // Sanity check 
     if ([arrayOfAccounts count] > 0) 
     { 
      // Keep it simple, use the first account available 
      ACAccount *acct = [arrayOfAccounts objectAtIndex:0]; 

      // Build a twitter request 
      NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1/direct_messages/new.format"]; 
      NSDictionary *p = [NSDictionary dictionaryWithObjectsAndKeys: 
       @"UserName",     @"screen_name", 
       @"Super awsome direct message", @"text", 
       nil 
      ]; 

      TWRequest *postRequest = [[TWRequest alloc] 
       initWithURL: url 
       parameters: p 
       requestMethod: TWRequestMethodPOST 
      ]; 

      // Post the request 
      [postRequest setAccount:acct]; 

      // Block handler to manage the response 
      [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { 
       NSLog(@"Twitter response, HTTP response: %i", [urlResponse statusCode]); 
       CCLOG(@"Response Data\n%@", responseData); 
       if (!error) 
        CCLOG(@"%@", [error description]); 
      }]; 
     } 
    } 
}]; 
+0

Dla fu czytelników, którzy natknęli się na ten post, obecny link niezwiązany z wersją do dokumentów na Twitterze to: https://dev.twitter.com/rest/reference/post/direct_messages/new i zawiera on aktualną wersję interfejsu API że @Robin wymienione w przyjętej odpowiedzi (od tego pisania, 1.1: https://api.twitter.com/1.1/direct_messages/new.json). Mam nadzieję że to pomoże! –

Odpowiedz

Powiązane problemy