2015-05-07 29 views
3

我已經申請到白名單我的應用程序,以獲取用戶權限列入白名單的Twitter登錄還是不能讓電子郵件

我使用的是相同的客戶端密鑰和客戶端祕密後,但我還是會遇到,

**TW ERROR: Error Domain=TwitterAPIErrorDomain Code=37 "Your application may not have access to email addresses or the user may not have an email address. To request access, please visit https://support.twitter.com/forms/platform." UserInfo=0x7fa3cb9e0df0 {NSLocalizedDescription=Your application may not have access to email addresses or the user may not have an email address. To request access, please visit https://support.twitter.com/forms/platform.}

這裏是我的代碼:

let twitterInstance = Twitter.sharedInstance() 
twitterInstance.startWithConsumerKey(TwitterClientKey, consumerSecret: TwitterClientSecret) 

twitterInstance.logInWithCompletion { 
    (session, error) -> Void in 
    if (session != nil) { 
     println("signed in as \(session.userName)"); 

     if (twitterInstance.session() != nil) { 
      if let shareEmailViewController = TWTRShareEmailViewController(completion: { 
       (email: String!, error: NSError!) in 
       print("TW EMAIL: \(email)") 
       if (email != nil) { 
        print("TW EMAIL: \(email)") 
       } else { 
        print("TW ERROR: \(error)") 
       } 
      }) { 
       self.presentViewController(shareEmailViewController, animated: true, completion: nil) 
      } 
     } else { 
      print("User not logged in") 
     } 


    } else { 
     println("error: \(error.localizedDescription)"); 
    } 
} 
+0

您是否收到用戶的電子郵件ID?我也面臨同樣的問題。請幫我解決 – iWatch

回答

2

要獲取用戶電子郵件地址,應將您的應用程序列入白名單。這裏是link。去use this form。您可以發送郵件至[email protected],並提供有關您的應用程序的一些詳細信息,如消費者密鑰,應用程序商店鏈接,隱私政策鏈接,元數據,關於如何登錄我們的應用程序的說明等。他們將在2-3工作內做出響應天。

這裏的故事,我是怎麼交談列入白名單與Twitter的支持團隊:

  • 發送郵件至[email protected]與您應用如消費鍵,應用程序的App Store的鏈接,鏈接到隱私的一些細節政策,元數據,關於如何登錄我們的應用程序的說明。在郵件中提到您想要在您的應用內訪問用戶電子郵件地址。

  • 他們會檢查您的應用程序並在2-3個工作日內回覆您。

  • 一旦他們說你的應用被列入白名單,在Twitter開發者門戶中更新你的應用的設置。登錄apps.twitter.com和:

    1. 在「設置」選項卡,添加服務條款和隱私權政策網址
    2. 的條款在「權限」選項卡,更改您令牌的範圍,申請通過電子郵件。只有當您的應用獲得白名單時,纔會看到此選項。

獲取用戶電子郵件地址:

-(void)requestUserEmail 
    { 
     if ([[Twitter sharedInstance] session]) { 

      TWTRShareEmailViewController *shareEmailViewController = 
      [[TWTRShareEmailViewController alloc] 
      initWithCompletion:^(NSString *email, NSError *error) { 
       NSLog(@"Email %@ | Error: %@", email, error); 
      }]; 

      [self presentViewController:shareEmailViewController 
           animated:YES 
          completion:nil]; 
     } else { 
      // Handle user not signed in (e.g. attempt to log in or show an alert) 
     } 
    } 

希望它可以幫助!

+0

我已經完成了所有的事情,但仍然在電子郵件中爲空 –

相關問題