我正在处理一款记录视频的Android应用,并允许用户使用YouTube Data API v3将其直接上传到YouTube.
我已经在Google的API控制台中设置了我的应用.在服务项下,我启用了YouTube Data API v3.在API访问下,我有一个"已安装应用程序的客户端ID"(包括客户端ID和客户端密钥)和"简单API访问"部分 - >"Android应用程序密钥(带证书)"(包括API密钥)和一个"Android应用程序"部分,暂时留空,即允许所有的Android应用程序,但我已经尝试设置我的Android密钥).
我的代码来自很多地方,主要是:
https://developers.google.com/youtube/v3/code_samples/java#upload_a_video
和
上传初始化OK,启动AsyncTask,但后来我抛出一个IOException:
{
"code": 403,
"errors": [
{
"domain": "usageLimits",
"message": "Access Not Configured",
"reason": "accessNotConfigured"
}
],
"message": "Access Not Configured"
}
Run Code Online (Sandbox Code Playgroud)
类似的SO帖子表明它与我的Google API控制台设置有关,但我找不到任何错误.有什么建议?我想知道是不是因为我没有在任何地方提供我的客户ID或秘密......
谢谢.
我的代码来自包含视频列表的片段.相关部分是:
- 在里面
public class UploadFragment extends Fragment {
private static GoogleAccountCredential credential;
private static final HttpTransport transport = AndroidHttp.newCompatibleTransport();
private static final JsonFactory jsonFactory = new GsonFactory();
public YouTube youtube;
List<String> scopes = Lists.newArrayList(YouTubeScopes.YOUTUBE_UPLOAD);
private static String VIDEO_FILE_FORMAT = …Run Code Online (Sandbox Code Playgroud) 我有YouTube链接" https://www.youtube.com/watch?v=ySuYTKkgIvg "
如何将此视频从YouTube存储到SD卡?
我可以通过Android YouTube DATA API使用YouTube播放器播放视频,但不知道如何下载它是否可以帮助我这样做的任何API /代码?
我工作的机器人Youtube Api.i成功创建了project.i可以播放视频,也可以点击按钮点击跳过视频.现在我添加了第二个按钮,在这个按钮点击我要更改onInitializationSuccess方法中的视频ID这是我的代码
public class MainActivity extends YouTubeBaseActivity implements
YouTubePlayer.OnInitializedListener {
static private final String DEVELOPER_KEY = "***********";
private String VIDEO = "*****", VIDEO1 = "*****";
private Button b1, b2;;
private YouTubePlayer player1;
private PlayerStyle style;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
b1 = (Button) findViewById(R.id.button1);
b2 = (Button) findViewById(R.id.button2);
youTubeView.initialize(DEVELOPER_KEY, this);
youTubeView.setEnabled(false);
style = PlayerStyle.CHROMELESS;
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int[] array = new int[] { 36000, 140000, 250000 …Run Code Online (Sandbox Code Playgroud) 如何查看YouTube视频何时在官方YouTube Android应用中播放完毕?在LogCat中我看到的内容如:VideoStage:MEDIA_PLAYING_VIDEO.有没有办法检测何时完成?
我有一个Android应用程序,它允许播放youtube视频.我使用的是最新的YouTube API(1.2.1).我在Android 4.0.4,4.3,4.4.4或5.0中的几个设备上尝试它并且它完美(在每个设备上都是YouTube应用程序版本10.-.但是在一台设备上,android 4.0.4和YouTube在哪里应用程序版本4.4.11它不起作用并收到错误"初始化YouTube播放器时出错".在文档中写道,YouTube应用程序所需的最低版本是4.2.16.所以我不知道,在哪里问题.
有人有想法,有什么问题或者我该如何解决?
非常感谢...
我构建了Web和移动应用程序并且它们是同步的.因此,在我登录并授权谷歌帐户获取访问令牌后,刷新令牌,到期以在youtube上传视频并存储在数据库中.在移动设备上,我获得访问令牌,刷新令牌,到期我写的ria api和移动应用程序使用访问令牌上传视频而无需登录谷歌帐户获取访问令牌.如果访问令牌过期,我将使用刷新令牌重新生成访问令牌.现在,我已经在iOS中完成了,但在Android中我仍然无法做到.
android google-api google-api-java-client android-youtube-api
我到处都看,但它在任何地方都没有任何提及.我可以将它们重现为任何其他视频,但不会像youtube应用中那样看到360控件.
我正在尝试使用以下内容获取在我的YouTube频道上传的视频列表
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId {MY_CHANNEL_ID}&maxResults = 50&key = {MY_APP_ID}
我在Google App Console中创建了应用程序并为其生成了APP ID.但是,当我尝试通过我的Android应用程序访问它时,得到java.io.FileNotFoundException错误
我也给了应用程序标识符和SHA1,如果我尝试通过Web浏览器键访问而没有任何其他约束它运行良好并返回所有视频列表但是在Android的情况下它不起作用.
@Override
protected String doInBackground(Void... voids) {
HttpURLConnection urlConnection = null;
String urlString = "https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCrF362wkcVnjqqPRsSEzvgg&maxResults=50&key=AIzaSyAiAFjZb1eVdRxVWnymrhuAb1iDlmYupu8";
//urlString = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLTqSMwQKOhUhl7gm7h6YwX6XPYr0ViBtu&key=AIzaSyAiAFjZb1eVdRxVWnymrhuAb1iDlmYupu8";
String jsonString = new String();
URL url = null;
try {
url = new URL(urlString);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setReadTimeout(10000 /* milliseconds */);
urlConnection.setConnectTimeout(15000 /* milliseconds */);
urlConnection.setDoOutput(true);
urlConnection.connect();
BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream()));
char[] buffer = new char[1024];
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != …Run Code Online (Sandbox Code Playgroud) 要在我的应用中播放视频,我决定从YouTube Android Player API扩展.但问题是我的菜单消失了,因为我没有从AppCompatActivity扩展.问题是:如何使用YouTube Android Player API并在应用中添加菜单?
public class TutorialsActivity extends YouTubeBaseActivity {
private YouTubePlayerView youTubePlayerView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.youtube);
youTubePlayerView = (YouTubePlayerView) findViewById(R.id.video1);
youTubePlayerView.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.loadVideo("c9q88492aas");
youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL);
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
XML
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/video1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
Run Code Online (Sandbox Code Playgroud)
当我从AppCompatActivity扩展时,它只是给我一个错误.
错误日志:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hyber.app/com.hyber.app.TutorialsActivity}: android.view.InflateException: Binary XML file line #12: Binary XML file line …Run Code Online (Sandbox Code Playgroud) 我有一个YouTube API片段,静态地添加到我的xml清单文件中,即一个内部有youtube播放器的片段.
我没有在我的项目中扩展片段的文件.
在我的活动类中,我将这行代码放在onCreate我的activity类中:
youTubePlayerFragment.setRetainInstance(true);
Run Code Online (Sandbox Code Playgroud)
它没有任何影响:当我旋转屏幕时,我得到片段的空白黑屏.
如何在方向更改后继续播放片段?
<fragment
android:id="@+id/youtube_fragment"
android:name="com.google.android.youtube.player.YouTubePlayerFragment"
android:layout_width="900dp"
android:layout_height="500dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
Run Code Online (Sandbox Code Playgroud) android ×10
youtube-api ×5
youtube ×2
fragment ×1
google-api ×1
java ×1
orientation ×1
upload ×1