"Codice": 403 e "ragione": exception "proibita" al caricamento di file in google plus

Sto cercando di caricare il file multimediale su google + e ho creato l'ID client nella console google. Ho ottenuto il metodo del metodo di caricamento
Allacciamento della-media

authentication

  • Passaggio di dati da attività a frammento utilizzando Otto
  • Come aumentare il valore di ricerca del bar
  • Può un dispositivo Android funzionare come iBeacon?
  • Long Touch su una superficieView (android)
  • Immagine ritaglia e ridimensiona in Android
  • Admob sulla superficie
  • quando si esegue l'applicazione mi trovo exception alla linea

    Media result = null; try { result = insertRequest.execute(); } catch (IOException e1) { // TODO Auto-generated catch block // e1.printStackTrace(); Log.e("result exception", "" + e1); } 

    exception sono:

      12-09 18:49:20.983: E/result exception(26301):com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden 12-09 18:49:20.983: E/result exception(26301): { 12-09 18:49:20.983: E/result exception(26301): "code" : 403, 12-09 18:49:20.983: E/result exception(26301): "errors" : [ { 12-09 18:49:20.983: E/result exception(26301): "domain" : "global", 12-09 18:49:20.983: E/result exception(26301): "message" : "Forbidden", 12-09 18:49:20.983: E/result exception(26301): "reason" : "forbidden" 12-09 18:49:20.983: E/result exception(26301): } ], 12-09 18:49:20.983: E/result exception(26301): "message" : "Forbidden" 12-09 18:49:20.983: E/result exception(26301): } 

    e il mio codice è colpo:

      public class MainActivity extends Activity { public static final String CLIENT_ID = "***********************************"; public static final String CLIENT_SECRET = "******************************"; String REDIRECT_URI = "http://localhost"; // String REDIRECT_URI = "urn:ietf:wg:oauth:2.0:oob"; JsonFactory jsonFactory = new JacksonFactory(); String posturl ="https://www.googleapis.com/upload/plusDomains/v1/people/userId/media/collection"; HttpTransport transport = new NetHttpTransport(); GoogleTokenResponse tokenResponse; @SuppressLint({ "NewApi", "SetJavaScriptEnabled" }) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); WebView webview = new WebView(this); webview.setVisibility(View.VISIBLE); webview.getSettings().setJavaScriptEnabled(true); setContentView(webview); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .permitAll().build(); StrictMode.setThreadPolicy(policy); Collection<String> SCOPE = Arrays.asList( "https://www.googleapis.com/auth/plus.me", "https://www.googleapis.com/auth/plus.media.upload", "https://www.googleapis.com/auth/plus.stream.write"); // "https://www.googleapis.com/auth/plus.profiles.read"); final GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder( transport, jsonFactory, CLIENT_ID, CLIENT_SECRET, SCOPE).setApprovalPrompt("force") .setAccessType("offline").build(); String url = flow.newAuthorizationUrl().setRedirectUri(REDIRECT_URI) .build(); System.out.println("url: " + url); webview.loadUrl(url); webview.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { if (url.startsWith(REDIRECT_URI)) { if (url.indexOf("code=") != -1) { // Url is like http://localhost/?code=4/Z5DgC1IxNL-muPsrE2Sjy9zQn2pF String code = url.substring(REDIRECT_URI.length() + 7, url.length()); System.out.println("code: " + code); tokenResponse = null; try { tokenResponse = flow.newTokenRequest(code) .setRedirectUri(REDIRECT_URI).execute(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } GoogleCredential credential = new GoogleCredential.Builder() .setTransport(transport) .setJsonFactory(jsonFactory) .setClientSecrets(CLIENT_ID, CLIENT_SECRET) .addRefreshListener( new CredentialRefreshListener() { @Override public void onTokenResponse( Credential credential, TokenResponse tokenResponse) { System.out .println("Credential was refreshed successfully."); } @Override public void onTokenErrorResponse( Credential credential, TokenErrorResponse tokenErrorResponse) { System.err .println("Credential was not refreshed successfully. " + "Redirect to error page or login screen."); } }).build(); credential.setFromTokenResponse(tokenResponse); PlusDomains plusDomains = new PlusDomains.Builder( transport, jsonFactory, credential).setApplicationName("RiskScore").build(); String userId = "me"; // Requires the plus.me scope File jpegFile = null; jpegFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/RiskScore/20131205115454.jpg"); Media mediaDescription = new Media(); mediaDescription.setDisplayName("A picture of Score"); Insert insertRequest = null; try { insertRequest = plusDomains.media().insert(userId, "cloud", mediaDescription, new FileContent("image/jpeg", jpegFile)); } catch (IOException e1) { // TODO Auto-generated catch block // e1.printStackTrace(); Log.e("insertRequest exception", "" + e1); } Media result = null; try { result = insertRequest.execute(); } catch (IOException e1) { // TODO Auto-generated catch block // e1.printStackTrace(); Log.e("result exception", "" + e1); } if (result != null) { String mediaId = result.getId(); // Now create a post using the uploaded image // Create the activity and populate the contents com.google.api.services.plusDomains.model.Activity activity = new com.google.api.services.plusDomains.model.Activity(); activity.setObject(new PlusDomainsObject()); activity.getObject().setContent("Risk Project...."); // Attach the photo PlusDomainsObject.Attachments attachment = new PlusDomainsObject.Attachments(); attachment.setObjectType("photo"); attachment.setId(mediaId); ArrayList<Attachments> attachments = new ArrayList<PlusDomainsObject.Attachments>(); attachments.add(attachment); // You can also add multiple attachments to the post activity.getObject().setAttachments(attachments); // Set the activity to be visible only to your domain PlusDomainsAclentryResource acl = new PlusDomainsAclentryResource(); acl.setType("domain"); Acl aclEntries = new Acl(); aclEntries .setItems(new ArrayList<PlusDomainsAclentryResource>()); aclEntries.getItems().add(acl); aclEntries.setDomainRestricted(true); // Required, this does the domain restriction activity.setAccess(aclEntries); // Post the activity com.google.api.services.plusDomains.model.Activity newActivity = null; try { newActivity = plusDomains.activities() .insert(userId, activity).execute(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("New activity created with ID " + newActivity.getId()); System.out.println("URL: " + newActivity.getUrl()); view.setVisibility(View.INVISIBLE); } } else if (url.indexOf("error=") != -1) { view.setVisibility(View.INVISIBLE); } } } }); } 

    }

  • come passare i valori da un'attività a un altro bundle usando
  • Android: Imansible istanziare l'attività / ClassNotFoundException
  • Riordina le liste come le playlist nel lettore multimediale
  • Come rilevare se sono state apportte modifiche nelle preferenze?
  • Condivisione di un menu delle opzioni tra Attività e MapActivity
  • Android: È necessario utilizzare onSizeChanged per View.getWidth / Height () nell'attività di estensione della class
  • 2 Solutions collect form web for “"Codice": 403 e "ragione": exception "proibita" al caricamento di file in google plus”

    Per utilizzare l'API Domini Google+, è necessario assicurarsi che il dominio per l'utente che agi per conto di è stato impostato con le autorizzazioni giuste per l'applicazione. Queste istruzioni sono sotto la sezione "Autorità di dominio delegato all'account di servizio" del passaggio 1 della Guida rapida .

    In particolare, è necessario associare l'ID client dell'applicazione agli ambiti che l'applicazione utilizzerà nel pannello di controllo del dominio. L'amministratore di dominio è l'unica persona che può farlo, quindi se lavori con un altro dominio, assicuratevi di entrare in contatto con quella persona. Inoltre, gli ambiti elencati nel pannello di controllo devono corrispondere esattamente con gli ambiti richiesti nell'applicazione.

    Penso che questo codice sia per il server lato caricamento e E sto cercando di caricare file attraverso il telefono Android in modo che sta mostrando Eccezione. Con questi Question1 e Question2 ho scoperto che Google+ non dispone di un'API di scrittura indipendente disponibile agli sviluppatori generali – l'unico modo per submit a Google+ tramite un'applicazione.

    Note : ma se qualcuno sa di API di scrittura di Google per gli sviluppatori generali, allora mi prega di aiutarti.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.