вызывая serviceAccount.json выдает исключение FileNotFoundException - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь внедрить API Google в своем проекте, где мне нужно вызвать serviceAccount.json, передав учетные данные.

Вот мой код:

    public class MainActivity extends AppCompatActivity {

    private static final String TAG = MainActivity.class.getSimpleName();
    private static final String SERVICE_ACCOUNT_CREDENTIAL_FILE = "/home/and03/AndroidStudioProjects/Parent/app/src/main/res/assets/serviceAccount.json";


    private static final String OAUTH_SCOPE = "https://www.googleapis.com/auth/androidmanagement";
    AndroidManagement androidManagement;
    String json,abcd;



    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        try {
            FileInputStream input = new FileInputStream(SERVICE_ACCOUNT_CREDENTIAL_FILE);
            GoogleCredential credential = GoogleCredential.fromStream(input).createScoped(Collections.singleton(OAUTH_SCOPE));
            androidManagement = new AndroidManagement(GoogleNetHttpTransport.newTrustedTransport(),JacksonFactory.getDefaultInstance(),credential);
            //createEnterprise(androidManagement);
            Log.e(TAG, "onCreate: "+ androidManagement );
        } catch (GeneralSecurityException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }

    private String createEnterprise(AndroidManagement androidManagementClient)
            throws IOException {
        SignupUrl signupUrl =
                androidManagementClient
                        .signupUrls()
                        .create()
                        .setProjectId("managementtest")
                        .setCallbackUrl("https://unsplash.com/v1/signupUrls")
                        .execute();

        String enterpriseToken = displayUrlToAdmin(signupUrl.getUrl());

        Enterprise enterprise =
                androidManagementClient
                        .enterprises()
                        .create(new Enterprise())
                        .setProjectId("managementtest")
                        .setSignupUrlName(signupUrl.getName())
                        .setEnterpriseToken(enterpriseToken)
                        .execute();

        return enterprise.getName();
    }

    private String displayUrlToAdmin(String url) {
        Log.i("My Url",url);
       return url;
    }
}

Это код, который я взял из примеров в документации Google, описанной здесь

API управления Android: создатьenterprise

Я знаю, что FileInputStream нам нужен для вызова этого файла из папки активов, но он все еще показывает исключение filenotfoundException.

есть еще одно приложение-пример, которое показывает полную демонстрацию

Проверьте:

Пример приложения для API управления Android

Я просто хочу знать, как я могу использовать путь к файлу .json в своем приложении, чтобыон будет работать правильно.

...