code: func (imp) ServeSetup(w http.ResponseWriter, r *http.Request, ctx *importer.SetupContext) error {
  	oauthClient, err := ctx.NewOAuthClient(oAuthURIs)
  	if err != nil {
  		err = fmt.Errorf("error getting OAuth client: %v", err)
  		httputil.ServeError(w, r, err)
  		return err
  	}
  	tempCred, err := oauthClient.RequestTemporaryCredentials(ctxutil.Client(ctx), ctx.CallbackURL(), nil)
  	if err != nil {
  		err = fmt.Errorf("Error getting temp cred: %v", err)
  		httputil.ServeError(w, r, err)
  		return err
  	}
  	if err := ctx.AccountNode.SetAttrs(
  		importer.AcctAttrTempToken, tempCred.Token,
  		importer.AcctAttrTempSecret, tempCred.Secret,
  	); err != nil {
  		err = fmt.Errorf("Error saving temp creds: %v", err)
  		httputil.ServeError(w, r, err)
  		return err
  	}
  
  	authURL := oauthClient.AuthorizationURL(tempCred, url.Values{"perms": {"read"}})
  	http.Redirect(w, r, authURL, http.StatusFound)
  	return nil
  }
docs: // TODO(mpl): same in twitter. refactor. Except for the additional perms in AuthorizationURL call.